php<audio>自动播放,解决IOS微信中 HTML5 中audio的自动播放问题。

Auto play html audio in iOS WeChat InAppBrowser the right way

在 iOS 微信浏览器中自动播放 HTML5 audio(音乐) 的正确方式

核心原理: 在微信的JS-API 中 play 一下 audio 即可达到自动播放的目的(应该是微信自己做了处理)

// 方法1: 现在微信官方已经推出了微信JS-SDK, 最好还是不要使用"野生"方式, 因为不知道什么时候就可以不能用了!

// http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

// 通过config接口注入权限验证配置后, 在 ready 中 play 一下 audio

function autoPlayAudio1() {

wx.config({

// 配置信息, 即使不正确也能使用 wx.ready

debug: false,

appId: '',

timestamp: 1,

nonceStr: '',

signature: '',

jsApiList: []

});

wx.ready(function() {

document.getElementById('bgmusic').play();

});

}

// 方法2: "野生"方法, 借用原来老的 WeixinJSBridge

function autoPlayAudio2() {

window.onload = function() {

// alert(typeof WeixinJSBridge);

WeixinJSBridge.invoke('getNetworkType', {}, function(e) {

// 在这里拿到 e.err_msg, 这里面就包含了所有的网络类型

// alert(e.err_msg);

document.getElementById('bgmusic').play();

});

};

}

// 大家或多或少都知道 iOS Safari 不允许自动播放 audio, 可能已经被坑过了,

// 但微信内嵌的浏览器应该是做了一些定制化, 允许自动播放 audio.

// 测试了以下机型在微信内嵌浏览器中仅需设置 audio autoplay 即可自动播放(audio)音乐, 无需特殊处理.

// * iPhone5 iOS 7.0.6 WeChat 6.2

// * iPhone5s iOS 8.1.2 WeChat 6.3.7

// * iPhone6Plus iOS 8.1.3 WeChat 6.3.7

// * MI1S Android 4.1.2 WeChat 6.3.7

//

// 但是当手机是 iPhone6s iOS 9.1 WeChat 6.3.7 时, 必须做如下特殊处理才能在微信中自动播放(audio)音乐,

// 我可以推测是 iOS 9 的兼容性问题么?

//

autoPlayAudio1(); // 推荐使用方法1

// autoPlayAudio2(); // 也可以试一试方法2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值