该页面显示在接待处的电视中。当它打开时,我们会看到一个带有 按钮的对话框,允许网页播放音频 。 40 秒后页面会自行刷新。
一天中的大部分时间,页面都在播放声音,但有时,文本更新了,但听不到声音。手动刷新(F5)后它就会回来。看来问题出在浏览器上。由于页面没有用户交互,除了允许声音的按钮之外,也许浏览器禁用了声音?
在手动刷新的情况下,与页面没有交互,比如点击,只是按一下F5。
目前我们正在使用 Audio,我应该尝试使用 AudioContext 吗?
我们虽然问题出在缓存上,所以我们创建了自动刷新,但这不足以解决问题。
我现在希望找到有关是什么阻止音频播放的线索
音频代码:
async function playAudio(url){
audio = new Audio(url)
return new Promise(res => {
audio.play()
audio.onended = res
})
}
我通过将网址插入浏览器中始终活跃的站点列表来解决问题
Chrome:设置 > 性能 > 始终保持这些网站处于活动状态
由于页面没有用户交互,浏览器正在改变其状态以提高性能,这会影响音频。设置此配置将阻止浏览器更改页面状态。