欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS微信搖一搖聲音無法播放的解決辦法

 更新時(shí)間:2018年05月23日 09:45:49   作者:東都花神  
這篇文章主要為大家詳細(xì)介紹了IOS微信搖一搖聲音無法播放的解決辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在IOS中第一次調(diào)用play方法播放音頻會(huì)被阻止,必須得等用戶有交互動(dòng)作,比如touchstart,click后才能正常調(diào)用,所以可以在搖一搖之前提醒用戶點(diǎn)擊一下開始游戲的按鈕或者給用戶一個(gè)彈窗,用戶點(diǎn)擊的時(shí)候播放一個(gè)超級(jí)短的無聲音文件,之后替換src,這樣再調(diào)用play方法就可以了。

代碼如下如:

<!DOCTYPE html>
<html lang="zh">
<head>
 <meta charset="UTF-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 <meta http-equiv="X-UA-Compatible" content="ie=edge" />
 <title>Document</title>
</head>
<body>

 <button>開始游戲</button>

 <audio src="https://daoket.github.io/img/load.mp3" id="audio"></audio>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <script type="text/javascript">

 $('button').one('touchstart', function () {
  var audio = document.getElementById("audio");
  audio.play();
  audio.setAttribute('src', 'https://daoket.github.io/img/shake.mp3');
  audio.load();
  $(this).text('游戲進(jìn)行中');
 })

 /**
  * 移動(dòng)端搖一搖
  * @params devicemotion 提供設(shè)備加速度信息
  */
 window.addEventListener('devicemotion', devicemotionHandler, false);

 var x,
  y,
  z,
  last_x,
  last_y,
  last_z,
  last_time = 0,
  SHAKE_SPEED = 4000;
 function devicemotionHandler (evet) {
  var acc = event.accelerationIncludingGravity,
   curTime = new Date().getTime(),
   diffTime = curTime - last_time;

  if (diffTime > 100) {
    last_time = curTime;

    x = acc.x;
    y = acc.y;
    z = acc.z;

    var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
    if (speed > SHAKE_SPEED) {
    document.getElementById("audio").play()
    }

    last_x = x;
    last_y = y;
    last_z = z;
  }
 }
 </script>
</body>
</html>

在線查看

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論