当前位置: 首页 > Web前端 > HTML5

ios音频无法正常播放

时间:2023-04-05 18:39:41 HTML5

ios中的音频无法直接通过audio.play()播放,用户需要在点击事件或触摸事件中执行audio.play()才能播放。audio.play()音乐在ajax回调中无法正常播放。用户点击按钮,等待服务器返回数据,然后播放相应的成功或失败音乐。测试在ios无法正常播放。猜测在play()下的ajax回调函数无法播放ios中的音频。记录下在ios中ajax回调播放音乐的问题解决过程。解决方案1--降低音量。然后将音量设置为1;volume可以控制音频的音量大小,取值范围是0~1audio.volume=number发现chrome的手机模式是可以静音的,但是在ios里面是不能控制音量的,这个被ios屏蔽了。放弃。..解决方案2--播放完用户点击按钮后立即暂停音乐,待ajax返回数据后继续播放。测试可以正常播放。部分代码如下://用户点击事件if(this.isIOS()){//ios单独不需要this.$refs.audio.play()this.$refs.audio.pause()}//ajax成功后的事件this.$refs.audio.pause()this.$refs.audio.currentTime=0this.$refs.audio.play()由于是vue项目,所以有this.$refs在代码,朋友们别介意;综上所述,在ios中,如果需要播放音乐或视频,需要用户手动触发事件调用.play()播放(自动播放或直接.play()不能直接触发);播放音乐需要在用户触发事件后立即暂停音乐,然后在回调函数中使用.play()即可,否则在ios中播放不成功。