摘要:原文出處最近要寫一個微信網頁,需要監聽手機搖動事件,并且伴隨有聲音在,事件特性的運動傳感器的封裝時間裝置,你可以通過改變運動時間獲取設備的狀態,加速和其他數據有另一個角度事件提供設備,定位等信息。
原文出處:http://i.jakeyu.top/2016/05/0...
最近要寫一個微信網頁,需要監聽手機搖動事件,并且伴隨有聲音
在HTML5,devicemotion事件deviceorientation特性的運動傳感器的封裝時間裝置,你可以通過改變運動時間獲取設備的狀態,加速和其他數據(有另一個角度deviceorientation事件提供設備,定位等信息)。
而通過DeviceMotion對設備運動狀態的判斷,則可以幫助我們在網頁上就實現“搖一搖”的交互效果。
把監聽事件綁定給 deviceMotionHandler
if (window.DeviceMotionEvent) { window.addEventListener("devicemotion", deviceMotionHandler, false); } else { alert("本設備不支持devicemotion事件"); } 獲取設備加速度信息 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; }
“搖一搖”的動作既“一定時間內設備了一定距離”,因此通過監聽上一步獲取到的x, y, z 值在一定時間范圍內 的變化率,即可進行設備是否有進行晃動的判斷。而為了防止正常移動的誤判,需要給該變化率設置一個合適的臨界 值。
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("本設備不支持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間的差值的絕對值和時間比率超過了預設的閾值,則判斷設備進行 了搖晃操作。
下面是我改寫的代碼文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/80790.html
摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉發朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農歷新年將至,我就拿一個搖簽的小例子來談一談中如何調用手機重力感應的接口演示搖一搖,萬福簽什么是重力感應說到重力感應有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉發朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農歷新年將至,我就拿一個搖簽的小...
摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉發朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農歷新年將至,我就拿一個搖簽的小例子來談一談中如何調用手機重力感應的接口演示搖一搖,萬福簽什么是重力感應說到重力感應有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉發朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農歷新年將至,我就拿一個搖簽的小...
閱讀 1609·2021-11-02 14:48
閱讀 3664·2019-08-30 15:56
閱讀 2777·2019-08-30 15:53
閱讀 3220·2019-08-30 14:09
閱讀 3111·2019-08-30 12:59
閱讀 2866·2019-08-29 18:38
閱讀 2704·2019-08-26 11:41
閱讀 2224·2019-08-23 16:45