ios不能自动播放音频

对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();
});



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值