素材牛VIP会员
vue 项目,ios上audio音频 无法自动播放
 爱***粉  分类:Html5  人气:1836  回帖:5  发布于6年前 收藏

spa页面,初次进入音乐播放界面的时候,在ios上无法自动播放,通过play()方法还是无法实现播放。有什么方法可以解决的

讨论这个帖子(5)垃圾回帖将一律封号处理……

Lv5 码农
ah***xr 软件测试工程师 6年前#1

和vue没有关系的,这是ios系统问题,音频无法自动播放,可以监听document点击事件播放,楼上已经给出代码了

Lv5 码农
陈***康 学生 6年前#2

移动端 无法自动播放音频 视频 是因为手机系统的问题,
你可以诱导用户交互来触发play事件

Lv3 码奴
赵***3 移动开发工程师 6年前#3

这是ios的问题,模拟点击即可,一楼代码

Lv4 码徒
静***5 Linux系统工程师 6年前#4

我是这样做的:

//--创建页面监听,页面加载完毕--触发音频播放
document.addEventListener('DOMContentLoaded', function () {
    function audioAutoPlay() {
        var musicEle0 = document.getElementById('music_mp3_0');
        musicEle0.play();
    }
    audioAutoPlay();
});
//--创建触摸监听,当浏览器打开页面时,触摸屏幕触发事件,进行音频播放
document.addEventListener('touchstart', function () {
    function audioAutoPlay() {
        var musicEle0 = document.getElementById('music_mp3_0');
            musicEle0.play();
    }
    audioAutoPlay();
});
Lv3 码奴
顺***风 职业无 6年前#5

需要js控制音频播放,我的办法是:1、点击等交互事件后,播放一个空白音频。audio.src='mute.mp3';audio.play()2、在需要js控制播放的地方,把音频src改掉,就能直接调用audio.play()了。

说白了就是先通过点击等交互事件播放空白音频,播放过后就能通过JS控制了。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取