微信内网页运用微信jsdk实现的音频自动播放

第一步:引入微信jsdk

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

第二步:配置wx.config

<script>
        function autoPlayVideo(){
            wx.config({
                debug:false,
                appId:"",
                timestamp:1,
                nonceStr:"",
                signature:"",
                jsApiList:[]
            });
            wx.ready(function(){
                var autoplayVideo=document.getElementById("audio");
                autoplayVideo.play()
            })
        };
        autoPlayVideo();
</script>

以上代码可以实现大部分手机的自动播放

在我做此项功能的时候,发现在iphone6s上面任然存在不能自动播放的情况,整理发现在iphone6s上加载完成后audio.networkState 查看音频的当前网络状态任然是0;当前网页中只需刷新一次就可自动播放,

那么,问题发现了解决方法呢,方案:settiomeout再次调用音频play();

同时在我的项目中因为一些其他配置存在页面alert微信jsdk配置异常的抛错,所以我直接在wx.error中再次调用了音频自动播放,为单独再设置settimeout

     if (_$audio.data("autoplay")) {
            setTimeout(function () {
                try { _$audio[0].play(); } catch (err) { console.error(err) };
                if (window.wx) {
                    // 兼容微信自动播放
                    wx.config({});
                    wx.error(function (err) { _$audio[0].play(); })
                    wx.ready(function () { _$audio[0].play(); });
                }
            }, 500);
        }
posted on 2019-12-26 10:05  活在当下zql  阅读(507)  评论(0)    收藏  举报