在Chrome中播放音频时抛出的圆顶感

问题描述 投票:-1回答:2

您好我在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();
    }
}

谁能告诉我上面的代码有什么问题?先感谢您。

javascript media
2个回答
2
投票

不再允许自动播放音频,因为它令人讨厌且经常被滥用。您必须先等待用户与页面进行交互。你可以通过谷歌查看这个指南如何使用新的AudioContext api:https://developers.google.com/web/updates/2018/11/web-audio-autoplay


1
投票

到目前为止,我能找到的唯一解决方案是更改chrome自动播放策略,如下所示:

铬://标志/#自动播放策略

并将其设置为

无需用户手势

我不知道如果这是解决问题的正确方法,但我不会再得到例外。如果有人有更好的主意,我将不胜感激。

© www.soinside.com 2019 - 2024. All rights reserved.