摘要:原文出處最近要寫一個微信網(wǎng)頁,需要監(jiān)聽手機搖動事件,并且伴隨有聲音在,事件特性的運動傳感器的封裝時間裝置,你可以通過改變運動時間獲取設(shè)備的狀態(tài),加速和其他數(shù)據(jù)有另一個角度事件提供設(shè)備,定位等信息。
原文出處:http://i.jakeyu.top/2016/05/0...
最近要寫一個微信網(wǎng)頁,需要監(jiān)聽手機搖動事件,并且伴隨有聲音
在HTML5,devicemotion事件deviceorientation特性的運動傳感器的封裝時間裝置,你可以通過改變運動時間獲取設(shè)備的狀態(tài),加速和其他數(shù)據(jù)(有另一個角度deviceorientation事件提供設(shè)備,定位等信息)。
而通過DeviceMotion對設(shè)備運動狀態(tài)的判斷,則可以幫助我們在網(wǎng)頁上就實現(xiàn)“搖一搖”的交互效果。
把監(jiān)聽事件綁定給 deviceMotionHandler
if (window.DeviceMotionEvent) { window.addEventListener("devicemotion", deviceMotionHandler, false); } else { alert("本設(shè)備不支持devicemotion事件"); } 獲取設(shè)備加速度信息 accelerationIncludingGravity function deviceMotionHandler(eventData) { var acceleration = eventData.accelerationIncludingGravity, x, y, z; x = acceleration.x; y = acceleration.y; z = acceleration.z; document.getElementById("status").innerHTML = "x:"+x+"
y:"+y+"
z:"+z; }
“搖一搖”的動作既“一定時間內(nèi)設(shè)備了一定距離”,因此通過監(jiān)聽上一步獲取到的x, y, z 值在一定時間范圍內(nèi) 的變化率,即可進行設(shè)備是否有進行晃動的判斷。而為了防止正常移動的誤判,需要給該變化率設(shè)置一個合適的臨界 值。
var SHAKE_THRESHOLD = 800; var last_update = 0; var x = y = z = last_x = last_y = last_z = 0; if (window.DeviceMotionEvent) { window.addEventListener("devicemotion", deviceMotionHandler, false); } else { alert("本設(shè)備不支持devicemotion事件"); } function deviceMotionHandler(eventData) { var acceleration = eventData.accelerationIncludingGravity; var curTime = new Date().getTime(); if ((curTime - last_update) > 100) { var diffTime = curTime - last_update; last_update = curTime; x = acceleration.x; y = acceleration.y; z = acceleration.z; var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000; var status = document.getElementById("status"); if (speed > SHAKE_THRESHOLD) { doResult(); } last_x = x; last_y = y; last_z = z; } }
100毫秒進行一次位置判斷,若前后x, y, z間的差值的絕對值和時間比率超過了預(yù)設(shè)的閾值,則判斷設(shè)備進行 了搖晃操作。
下面是我改寫的代碼文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/80790.html
摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小例子來談一談中如何調(diào)用手機重力感應(yīng)的接口演示搖一搖,萬福簽什么是重力感應(yīng)說到重力感應(yīng)有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小...
摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小例子來談一談中如何調(diào)用手機重力感應(yīng)的接口演示搖一搖,萬福簽什么是重力感應(yīng)說到重力感應(yīng)有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小...
閱讀 1599·2021-11-02 14:48
閱讀 3651·2019-08-30 15:56
閱讀 2767·2019-08-30 15:53
閱讀 3208·2019-08-30 14:09
閱讀 3094·2019-08-30 12:59
閱讀 2853·2019-08-29 18:38
閱讀 2693·2019-08-26 11:41
閱讀 2209·2019-08-23 16:45