Javascript 有没有办法在React中自动播放音频而不使用onClick事件?

Javascript 有没有办法在React中自动播放音频而不使用onClick事件?,javascript,reactjs,Javascript,Reactjs,尝试在componentDidMount中播放音频时出现此错误。 “未捕获(承诺中)DomeException:play()失败,因为用户没有首先与文档交互。” componentDidMount() { document.getElementById("backgroundMusic").play(); } <audio id="backgroundMusic"> <source src={url} type="audi

尝试在componentDidMount中播放音频时出现此错误。 “未捕获(承诺中)DomeException:play()失败,因为用户没有首先与文档交互。”

componentDidMount() {
  document.getElementById("backgroundMusic").play();
}

<audio id="backgroundMusic">
<source src={url} type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
componentDidMount(){
document.getElementById(“backgroundMusic”).play();
}
您的浏览器不支持音频元素。
它可以与onclick事件配合使用。有没有办法在React中自动播放音频?我想我可以使用onMouseOver触发音频启动,但理想情况下,音乐可以在没有任何用户交互的情况下启动。

不再允许没有用户交互的自动播放

  • 始终允许静音自动播放
  • 在以下情况下,允许自动播放声音:
    • 用户已与域交互(单击、点击等)
    • 在桌面上,用户的媒体参与度指数阈值已经超过,这意味着用户以前播放过声音视频
    • 用户已将该站点添加到其手机主屏幕或在桌面上安装了PWA
  • 顶部框架可以将自动播放权限委托给其iFrame,以允许自动播放声音

绕过此问题的唯一方法是鼠标移动实现

您收到的错误消息几乎是自我解释的。大多数现代浏览器在用户与页面交互之前阻止音频/视频自动播放。他们这样做是为了避免对用户产生某些不期望的效果(例如,用户可能设置了最大音量&自动播放的声音可能会让她感到惊讶/害怕)

你可以尝试一下,但没有一个能真正保证跨浏览器工作