您好,我在Chrome中播放音频时遇到异常。
这是我播放音频的功能
$(document).ready(function ()
{
generateAlarm();
});
function generateAlarm()
{
alarm_1 = new Audio();
alarm_1.src = '/Content/assets/sounds/alarm_1.mp3';
const playPromise = alarm_1.play();
if (playPromise !== null)
{
playPromise.catch(() => {
const btn = $('#playAlarm');
btn.click();
});
}
}
document.getElementById('playAlarm').addEventListener("click", handlePlayButton, false);
function handlePlayButton()
{
if (alarm_1.paused) {
generateAlarm();
}
else {
alarm_1.pause();
}
}
有人可以告诉我上述代码有什么问题吗? 预先谢谢你。
答案 0 :(得分:0)
由于音频令人讨厌并且经常被滥用,因此不再允许自动播放音频。您必须先等待用户与页面交互。您可以查看Google的本指南,了解如何使用新的AudioContext
API:https://developers.google.com/web/updates/2018/11/web-audio-autoplay
答案 1 :(得分:0)
到目前为止,我唯一能找到的解决方案是更改chrome自动播放策略,如下所示:
chrome:// flags /#autoplay-policy
并将其设置为
不需要用户手势
我不是解决问题的正确方法,但是我再也没有例外了。如果有人有更好的主意,我将不胜感激。