IOS的移动端audio自动播放(多种场景)
2018-03-05 21:01
399 查看
前言:为什么单说ios而不说安卓呢,因为ios的安全机制,把audio的canplay事件禁止了,导致了ios设备上自动播放功能不能简单的实现,需要用户点击一次才能播放。而安卓却没有这些问题,这也算是展现了两个系统的对于开放与安全的理解吧。
ios的audio标签在用户点击了一次之后才能播放,假如你的项目需要刚进页面就播放或者需要异步请求音频链接,那你肯定对这个ios的安全机制恨之入骨了。。。
这里贴一下安卓的自动播放:
注意事项:
- 1: html中的audio最好提前写好一个有效的mp3链接,防止某些ios版本会把audio标签当成无效标签给干掉
- 2: 对audio进行src赋值的时候,用document.getElementById(‘musicAudio’).setAttribute(‘src’, ‘your.mp3’)
-
-
备注:支持使用 AMD/CMD 标准模块加载方法加载 AMD加载方法:
安装: npm install weixin-js-sdk –save
使用: var wx = require(‘weixin-js-sdk’)
2: 进行ajax异步请求
3:回调中对audio进行赋值
4:play
ios的audio标签在用户点击了一次之后才能播放,假如你的项目需要刚进页面就播放或者需要异步请求音频链接,那你肯定对这个ios的安全机制恨之入骨了。。。
这里贴一下安卓的自动播放:
document.getElementById('musicAudio').setAttribute('src', 'your.mp3') document.getElementById('musicAudio').play()
注意事项:
- 1: html中的audio最好提前写好一个有效的mp3链接,防止某些ios版本会把audio标签当成无效标签给干掉
- 2: 对audio进行src赋值的时候,用document.getElementById(‘musicAudio’).setAttribute(‘src’, ‘your.mp3’)
-
-
ios场景1:进入页面时候进行自动播放
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js备注:支持使用 AMD/CMD 标准模块加载方法加载 AMD加载方法:
安装: npm install weixin-js-sdk –save
使用: var wx = require(‘weixin-js-sdk’)
wx.config({
debug: false,
appId: data.appid,
timestamp: data.timestamp,
nonceStr: data.noncestr,
signature: data.signature,
jsApiList: []
})
wx.ready(function() {
// 在微信的ready中进行播放 不管成功配置与否 都会执行ready
document.getElementById('musicAudio').setAttribute('src', 'your.mp3') document.getElementById('musicAudio').play()
})
ios场景2:进入页面后要异步请求音频文件,请求到后要进行播放
1: 先播放一次audio 然后暂停一次2: 进行ajax异步请求
3:回调中对audio进行赋值
4:play
document.getElementById('musicAudio').play()
document.getElementById('musicAudio').pause()
this.$axios.post('/api/getmp3', params).then(({ data }) => {
document.getElementById('musicAudio').setAttribute('src', 'your.mp3') document.getElementById('musicAudio').play()
})
// 以上代码最好是放在一个点击事件里 当用户点击了之后开始执行,请求过程中应该有个loading让用户感知
相关文章推荐
- 解决ios上audio不能自动播放的问题以及监听audio播放状态
- iOS系统及微信中不支持audio自动播放问题
- 解决ios上audio不能自动播放,也不能连续播放的问题
- 关于移动端audio自动播放问题
- ios audio不能自动播放
- audio标签的自动播放(ios)
- 在 iOS Safari 中假装自动播放 HTML5 audio(音乐) 的正确方式
- ios html5 audio 不能自动播放
- audio元素和video元素在ios和andriod中无法自动播放
- iOS系统和微信中不支持audio自动播放问题的解决方法
- 解决ios微信下audio无法自动播放的问题
- 快速解决ios微信下audio无法自动播放的问题
- 移动端audio自动播放问题
- 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式
- iOS h5 audio自动播放设置
- iOS下Audio自动播放(Autoplay)音乐
- iOS系统及微信中不支持audio自动播放
- audio 在ios上自动播放问题
- 微信 IOS客户端 Audio自动播放的解决方案
- ios加载html5 audio标签用js无法自动播放