解决ios audio 无法自动播放

苹果公司考虑到用户流量访问的情况下,为了用户流量着想,需要用户交互点击、触摸等方式后才能播放。
因此,ios中audio不能直接通过audio.play()播放,需要用户在click事件或者touch事件中执行audio.play()才能播放。

解决办法

引入微信jsdk后 就可以在 wx.ready()里 控制播放了。

  • 1.第一步:加载一个微信JS-SDK
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
  • 2.第二步:引入audio标签
 <audio src="@/assets/media/video.mp3" id="Jaudio" style="opacity:0"></audio>
  • 3.第三步:微信的相关配置以及兼容方法
        audioAutoPlay(id) {
            wx.config({
                debug: false,  // 配置信息, 即使不正确也能使用 wx.ready
                appId: "",
                timestamp: 1,
                nonceStr: "",
                signature: "",
                jsApiList: []
            });
            wx.ready(function() {
                var globalAudio = document.getElementById(id);
                globalAudio.play();
                audio.play();
                //微信下兼容处理
                document.addEventListener(  "WeixinJSBridgeReady", function() {
                        audio.play();
                    },
                    false
                );
                document.addEventListener( "YixinJSBridgeReady", function() {
                        audio.play();
                    }, false );
            });
        }

最后,需要再播放音乐的地方进行方法调用就ok啦!

总结

在ios中,如果需要播放音乐或者视频,需要用户手动触发事件在调用.play()才能播放(autoplay或者直接.play()是不能直接触发的);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值