我正在构建一个移动优化网站,并希望在计数器结束后播放声音。通常,在2分钟或更长时间后。
问题是,一旦手机的屏幕关闭,手机会禁用我的js,并阻止音频播放。
我看了this 在解决方案#3中,你可以顺序循环2个曲目,即使屏幕关闭,手机仍然可以播放。 所以我找到的技巧是使用那个循环,但有第一个声音: 1.保持沉默。是的,完成5分钟的静音 2.在第二首歌播放足够的时间之前,让它循环多次。
因此,例如,在此处,静音音频将在播放其他声音之前播放两次。
诀窍是控制max
变量以获得所需的输出。
var count = 0;
var max = 2;
document.getElementById('silence_audio').addEventListener('ended', function () {
this.currentTime = 0;
this.pause();
if (count < max) {
document.getElementById('silence_audio').play();
count++;
} else {
document.getElementById('audio_4').play();
}
}, false);
document.getElementById('audio_4').addEventListener('ended', function () {
this.currentTime = 0;
this.pause();
document.getElementById('silence_audio').play();
}, false);
但我的问题是,还有其他更好的解决方案吗?
谢谢!