我正在向网站添加音频元素,并且应该在页面加载时自动播放。在Chrome 71中,在某些情况下会存在updates which should disable autoplay音频和视频(如果用户未与该页面进行交互,或者该页面不是用户经常访问的页面并允许播放视频等)。 chrome://media-engagement/显示chrome用户在不同网站上的参与度得分(基于他们访问和观看视频的次数)。
通常,用户必须先登录才能看到我添加了该元素的页面,因此在这种情况下,它应该可以自动播放而不会出现问题。我正在尝试找出如何造成Chrome阻止自动播放的情况,因此我可以测试在阻止音频后重新启动音频的方法。
问题是,我似乎无法使用Chrome来阻止自动播放。到目前为止,我已经尝试过(除非另有说明,否则都在Mac上):
目前尚不确定该怎么做,有人知道如何最好地迫使Chrome阻止该音频自动播放,或者造成这种情况发生?
这是音频元素的html:
<div id="intro_player_wrapper">
<audio id="intro_player" controls="controls">
<source id="audio_intro_mp3_src" type="audio/mpeg" src="audio_source.mp3" /></source>
<source id="audio_intro_wav_src" type="audio/wav" src="audio_source.wav" /></source>
</audio>
</div>
以下是开始自动播放的javascript:
var autoplay_interval = window.setInterval(function() {
var promise = $("#intro_player").get(0).play();
if (promise !== undefined) {
promise.then(_ => {
intro_audio_played = true;
clearInterval(autoplay_interval);
}).catch(error => {
console.log("Autoplay was prevented.");
});
}
}, 1000);