解决ios下微信页面背景的音乐无法自动播放问题

最近由于业务需要,要求在微信公众号中开发一款HTML5单页面应用,开发场景中有一个播放页面,当进入播放页面的时候音频需要自动播放,于是乎我很自然的写下了这样的代码:


在PC上启动本地服务,调试时是正常的。但是发布到线上,用自己的iphone在微信中打开页面时,却不能自动播放,于是我在网上查找了一些资料,这才了解到原来以上的写法在安卓和大部分ios的设备上是ok的,但是在小部分ios设备中不能实现自动播放的功能。
那么问题该如何解决呢?
答案很简单,关键在于微信的WeixinJSBridgeReady事件,这个是微信自带提供的事件,测试发现,只需在全局的ready函数中加入以下代码就可以实现自动播放功能了(以下是vue 1.x中的代码,如果是原生js,就在全局函数中加上就行了):

ready: function() {
    audioAutoPlay('myAudio');
},
methods: {
    audioAutoPlay: function(id) {
        var audio = document.getElementById(id);
        audio.play();
        document.addEventListener("WeixinJSBridgeReady", function () {
            audio.play();
        }, false);
    }
}

你可能感兴趣的:(解决ios下微信页面背景的音乐无法自动播放问题)