ios微信h5音频audio无法自动播放

Posted 大智ywz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios微信h5音频audio无法自动播放相关的知识,希望对你有一定的参考价值。

iPhone手机音频、视频无法自动播放?

通过下面的方式可以解决,在iPhone手机微信中正常自动播放。

必须在微信Weixin JSAPI的WeixinJSBridgeReady才能生效,猜测微信接口做了处理~

测试了90%的iPhone机型,大部分直接调用audio的play方法就可以自动播放了,但是一些奇葩iPhone机不可以

<audio preload="preload" controls id="audio" src="audio.mp3" loop></audio>
<video id="video" controls="" preload="none" mediagroup="myVideoGroup" poster="video.png">
      <source id="mp4" src="video.mp4" type="video/mp4">
      <source id="webm" src="video.webm" type="video/webm">
      <source id="ogv" src="video.ogv" type="video/ogg">
      <p>您的浏览器不支持</p>
</video>
<!-- 必须加在微信api资源 -->
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
     //一般情况下,这样就可以自动播放了,但是一些奇葩iPhone机不可以
     document.getElementById(‘car_audio‘).play();
    //必须在微信Weixin JSAPI的WeixinJSBridgeReady才能生效
    document.addEventListener("WeixinJSBridgeReady", function () {
        document.getElementById(‘audio‘).play();
        document.getElementById(‘video‘).play();
    }, false);
</script>

 

最近又发现一个问题,android不能同时播放两个音频? @李猜猜回答:因为ready只会触发一次,所以不能播放多个音频。但是如果需要播放多个音频,其实只要调用一下eixinJSBridge进行包裹即可。 示例代码如下

function playAudio() {
    if (setting.autoplay) {
        if (window.WeixinJSBridge) {
            WeixinJSBridge.invoke(‘getNetworkType‘, {}, function (e) {
                audio.play();
            }, false);
        } else {
            document.addEventListener("WeixinJSBridgeReady", function () {
                WeixinJSBridge.invoke(‘getNetworkType‘, {}, function (e) {
                    audio.play();
                });
            }, false);
        }
        audio.play();
    } else {
        audio.pause();
    }
    return false;
}

 

以上是关于ios微信h5音频audio无法自动播放的主要内容,如果未能解决你的问题,请参考以下文章

解决微信浏览器中H5中的audio不能自动播放问题

解决微信浏览器中H5中的audio不能自动播放问题

微信网页ios自动播放音频、视频

深刻求解答:ios使用audio标签不能播放网络音频 求解决方案!!!

ios 如何播放在线的音频文件

ios为了用户隐私安全,禁止自动播放音频文件的解决办法(微信端)