【问题标题】:JS: Audio plays on first load, but not on page refreshJS:音频在第一次加载时播放,但在页面刷新时不播放
【发布时间】:2019-10-29 07:45:47
【问题描述】:

音频在第一次加载时播放,但在页面刷新时出现此错误:

Uncaught (in promise) DOMException: play() failed 因为用户没有先与文档交互。

HTML:

     <div>
        <audio src="./songs/the_end.mp3" id="theEnd"></audio>
    </div>

JS:

    const theEnd = document.querySelector('#theEnd')

    window.addEventListener('load', () => {
        theEnd.play()
    })

我应该改变什么,以便在页面刷新时播放音频,就像在第一次加载时一样?

Codesandbox 供你们测试: https://codesandbox.io/s/fervent-brook-l06u8

【问题讨论】:

    标签: javascript html audio


    【解决方案1】:

    您可以尝试添加autoplay 属性。

    所以:

     <div>
        <audio autoplay src="./songs/the_end.mp3" id="theEnd"></audio>
    </div>
    

    【讨论】:

    • 如果我这样做,错误就会消失,但刷新时音频仍然无法播放
    • 你用的是什么浏览器?
    • 顺便说一句,window.onload-event 在那个沙箱中不起作用,你已经提供了。
    • Google chrome,是的,我不知道沙箱也不能与 window.onload 一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2021-06-18
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多