失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微信墙php摇一摇无声音 IOS微信摇一摇声音无法播放的解决办法

微信墙php摇一摇无声音 IOS微信摇一摇声音无法播放的解决办法

时间:2021-12-08 15:03:32

相关推荐

微信墙php摇一摇无声音 IOS微信摇一摇声音无法播放的解决办法

在IOS中第一次调用play方法播放音频会被阻止,必须得等用户有交互动作,比如touchstart,click后才能正常调用,所以可以在摇一摇之前提醒用户点击一下开始游戏的按钮或者给用户一个弹窗,用户点击的时候播放一个超级短的无声音文件,之后替换src,这样再调用play方法就可以了。

代码如下如:

Document

开始游戏

$('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('游戏进行中');

})

/**

* 移动端摇一摇

* @params devicemotion 提供设备加速度信息

*/

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;

}

}

在线查看

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

如果觉得《微信墙php摇一摇无声音 IOS微信摇一摇声音无法播放的解决办法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。