国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

微信頁面監(jiān)聽搖一搖事件,并伴有音效

fuchenxuan / 2129人閱讀

摘要:原文出處最近要寫一個微信網(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

相關(guān)文章

  • HTML5一搖(上)—如何判斷設(shè)備搖動

    摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小例子來談一談中如何調(diào)用手機重力感應(yīng)的接口演示搖一搖,萬福簽什么是重力感應(yīng)說到重力感應(yīng)有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小...

    curried 評論0 收藏0
  • HTML5一搖(上)—如何判斷設(shè)備搖動

    摘要:剛剛過去的一年里基于微信的營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小例子來談一談中如何調(diào)用手機重力感應(yīng)的接口演示搖一搖,萬福簽什么是重力感應(yīng)說到重力感應(yīng)有一個東西不得 剛剛過去的一年里基于微信的H5營銷可謂是十分火爆,通過轉(zhuǎn)發(fā)朋友圈帶來的病毒式傳播效果相信大家都不太陌生吧,剛好最近農(nóng)歷新年將至,我就拿一個搖簽的小...

    WilsonLiu95 評論0 收藏0

發(fā)表評論

0條評論

fuchenxuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<