时间:2021-05-19
ios中audio不能直接通过audio.play()播放,需要用户在click事件或者touch事件中执行audio.play()才能播放。
ajax回调中audio.play()音乐不能正常播放。
用户点击按钮,等服务器返回数据后再播放相应的成功或失败的音乐,测试在ios中不能正常播放。猜测ios中的audio不能再ajax回调函数中play()
下面记录一下ios中ajax回调中播放音乐的问题解决过程
解决方案一 --降低音量
在用户点击时间后将audio的音量设置为0,等success后将音量设置为1; volume可以控制audio的音量大小,取值范围为 0~1
audio.volume=number发现在chrome的手机模式可以将音乐静音,ios中竟然不能控制音量,好吧这个被ios屏蔽了。放弃了
解决方案二 --播放后立即暂停
用户点击按钮后立即播放音乐,等ajax返回数据后再继续播放。测试能够正常播放。部分代码如下:
// 用户click事件if (this.isIOS()) { // ios单独处理 安卓不需要 this.$refs.audio.play() this.$refs.audio.pause()}// ajax成功后的事件 this.$refs.audio.pause() this.$refs.audio.currentTime = 0 this.$refs.audio.play()由于是vue项目,所以代码中有this.$refs小伙伴们别介意;
总结
在ios中,如果需要播放音乐或者视频,需要用户手动触发事件在调用.play()才能播放(autoplay或者直接.play()是不能直接触发的);
如果需要在ajax回调函数中播放音乐,需要在用户触发事件后播放音乐立即暂停然后才能在回调函数中.play(),不然ios中是播放不成功的。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
需求:显示音乐播放按钮、可手动拖拽进度条;页面中含多个音乐,播放当前音乐时暂停其他音乐播放。小程序自带标签audio小程序自带的audio标签含固定的样式,且有
本文讲诉了H5新属性audio音频和video视频的控制,具体如下:1.音频(audio)2.视频(video)静音打开声音播放停止播放全屏下面是对于视频文件的
帝国CMS7.5版视频播放器更新,做视频站更方便:1、系统模型的播放器新增HTML5的video播放标签、HTML5的Audio播放标签、jwplayer播放器
最近项目中使用Html5的video和audio标签来在线播放视频和音频文件,但是遇到个奇葩的问题,页面上播放之后进度条无效,查看w3c之后发现html代码并没
ios7.1.2无法更新/无法激活解决方法大家想知道吗?如果你在升级ios7.1.2遇到失败情况可以试一试下文的解决方法,希望能够帮助到遇到问题的朋友。