美文网首页
ios端音乐自动播放优化

ios端音乐自动播放优化

作者: 无酒之人 | 来源:发表于2018-09-29 18:04 被阅读0次

H5的新标签audio支持在网页上插入一段音频,可以通过autoplay属性来控制音乐是否自动播放,但ios系统为了保护用户流量不流失,限制了该属性。即在ios上无法通过该属性来控制音乐自动播放。不仅如此,任何的JS触发都无法生效,除非用户主动交互。

如果公司大部分的业务都在微信端,那么是可以解决自动播放问题的,IOS浏览器端暂时没有办法解决,但可以降级操作,具体降级方案是:当用户第一次触摸屏幕时,调用play()方法。
IOS微信端的解决方案:
通过调用微信的SDK来调用play()方法,具体代码如下:

/*
引入微信SDK
*/
<script scr='jweixin-1.2.0.js'></script>
/*
控制音乐播放
*/
<script>
    var audio = document.getElementById(id);
    document.addEventListener("WeixinJSBridgeReady", function () {
            audio.play();
    }, false);
</script>

在vue框架中的写法(打包配置中已经注入了微信sdk的情况):

<script>
/*
控制音乐播放
*/
    var self = this;
    require(['wx'], function(wx) {
        wx.config({
          debug: false,
          appId: 'wxcf5f821eb9af21a5',
          timestamp: '',
          nonceStr: '',
          signature: ''
        });
        wx.ready(function() {
          self.weixin_muisc();
        });
     });
     weixin_muisc() {
        var audioPlayer = document.getElementById('muisc');
        audioPlayer.play();
        $('.muisc_ico')
          .addClass('muisc_ani')
          .removeClass('muisc_stop');
    },
</script>

这样就可以实现ios系统下微信端H5音乐的自动播放了

相关文章

网友评论

      本文标题:ios端音乐自动播放优化

      本文链接:https://www.haomeiwen.com/subject/vcuboftx.html