IOS + 微信公众号网页: 自动播放audio问题

之前试了

function autoPlayMusic() {
     // 自动播放音乐效果,解决浏览器或者APP自动播放问题
     function musicInBrowserHandler() {
         musicPlay(true);
         document.body.removeEventListener('touchstart', musicInBrowserHandler);
     }
     document.body.addEventListener('touchstart', musicInBrowserHandler);
     // 自动播放音乐效果,解决微信自动播放问题
     function musicInWeixinHandler() {
         musicPlay(true);
         document.addEventListener("WeixinJSBridgeReady", function () {
                musicPlay(true);
         }, false);
         document.removeEventListener('DOMContentLoaded', musicInWeixinHandler);
     }
     document.addEventListener('DOMContentLoaded', musicInWeixinHandler);
}
function musicPlay(isPlay) {
	 var media = document.querySelector('#bg-music');
     if (isPlay && media.paused) {
	 	media.play();
     }
     if (!isPlay && !media.paused) {
      	media.pause();
     }
}

还有

var music_div = document.getElementById('music_div');
music_div.addEventListener('touchstart', function () {
	var media = document.querySelector('#bg-music');
	media.play();
});
// 触发事件监听
var event = document.createEvent('Events');
event.initEvent('touchstart', true, true);
music_div.dispatchEvent(event);

都不行,完全没有办法触发
然后用jssdk,wx.ready就可以了

//wx获取参数-等接口
$.ajax({
  type:"get",
  url:ROOT_API + 'v1/wechat/jssdk_config',
  async:true,
  dataType : "json",  
  data:{'url':window.location.href.split('#')[0]},
  success:function(res){
      var meta = res['meta'];
      var data = res['data'];
      if(meta['code'] == "200"){
        var appId = data['appId'];
        var nonceStr = data['nonceStr'];
        var timestamp = data['timestamp'];
        var url = data['url'];
        var signature = data['signature'];
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: appId, // 必填,公众号的唯一标识
            timestamp: timestamp, // 必填,生成签名的时间戳
            nonceStr: nonceStr, // 必填,生成签名的随机串
            signature: signature,// 必填,签名
            jsApiList: [] // 必填,需要使用的JS接口列表
        });
        wx.error(function (res) {
            if(res.errMsg!='config.ok'){
            	console.log('error:'+res.errMsg);
            }
        });
        wx.ready(function(){
            document.querySelector('#bg-music').play();
        })
      }
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值