ios不能自动播放音频

来源:互联网 发布:造价大数据 编辑:程序博客网 时间:2024/05/18 03:44

对audio,利用trigger('play')在ios上不能触发audio播放,原因ios 内置浏览器safari要播放音频,需要人为去触发,或者在微信WeixinJSBridgeReady()函数内设置自动触发。给audio设置autoplay也不生效。

html代码如下:

      <audio src="mp3/shakingAudio.mp3" preload="preload" id="shakingAudio"></audio>
js代码如下(先引入jquery):

      $(function(){           $('#shakingAudio').trigger('play');      });
结果:该方法在android下可以触发audio播放事件,但是不能触发ios下audio播放事件

解决方法:在微信WeixinJSBridgeReady函数内触发播放事件

           1、在html中先引入jweixin.js

         <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
           2、js代码如下:     

         $(function(){            $('#shakingAudio').play();            document.addEventListener('WeixinJSBridgeReady',function(){                    $('#shakingAudio').play();            },false);         });

结论:通过以上设置就可以在android和ios下自动播放音频了。亲测可用

以下方法,亲测不行

1、在WeixinJSBridgeReady()里面设置延时在播放

  $('#shakingAudio').play();            document.addEventListener('WeixinJSBridgeReady',function(){                   setTimeOut( $('#shakingAudio').play();            },5000,false);  });

言下之意就是只支持启动的时候播放

2、在微信的ready()函数内添加play()函数 

$(function(){    autoPlay();    function autoPlay(){          wx.config({               //配置信息,即使不正确也能使用wx.ready()               debug:false,               appId:'',               timestamp:1,               nonceStr:'',               signature:'',               jsApiList:[]          });          wx.ready(function(){                $('#shakingAudio').play();          });    }});

3、

$(function(){     $('#shakingAudio')[0].play();});


 
原创粉丝点击