Description
IOS
系统中无法自动播放media
,必须由用户发出交互动作(如click
, touchstart
)才能播放。
但在微信浏览器
中,我们可以添加WeixinJSBridgeReady Listener
来解决这一问题。
Page
<audio id="audio_start_shake" controls="controls" preload="auto">
<source src="/images/shake_first_two_frame.mp3" type="audio/mpeg" />
</audio>
JavaScript
var audio = document.getElementById('audio_start_shake');
document.addEventListener("WeixinJSBridgeReady", function weixinjsbridgeready() {
audio.load();
}, false);
//摇一摇Listener
window.addEventListener('shake', function shakeListener() {
audio.play()
}, false);
若上述解决方案依旧无法播放声音,可以简单采用下面这种方法
var audioAutoPlay = function (el) {
var audio_el = document.getElementById(el);
audio_el.play();
document.addEventListener("WeixinJSBridgeReady", function () {
audio_el.play();
}, false);
}
//使用
audioAutoPlay('audio_start_shake')
Option
这种解决方案只能满足
微信浏览器
,在PC端还是会存在无法播放声音问题
上面采用的手机摇一摇事件库
推荐的手机音频播放库
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。