【问题标题】:Use autoplay to play a radio station using HTML5 audio使用自动播放来播放使用 HTML5 音频的广播电台
【发布时间】:2019-08-31 08:52:03
【问题描述】:

我正在尝试在我的 html 文件上自动启动网络广播。目前使用自动播放失败,我认为收音机错过了加载一些数据的时间,因此自动播放只是阻塞。 我创建了一个 setTimeout 函数来处理它。现在该功能拒绝在 Firefox 和 Opera 上启动。 Firefox 的错误日志信息量最大,在此转载:

NotAllowedError:用户代理不允许播放方法或 当前上下文中的平台,可能是因为用户拒绝 权限

这里是我的 html 的 sn-p:

<body>
  <audio controls src="http://5.63.151.52:7136/stream?icy=http" autoplay id="myAudio">
                Your browser does not support the
                <code>audio</code> element.
        </audio>

  <button onclick={goPlay()}>
            Play
        </button>

  <script>
    // function goPlay(){
    //     console.log("in goplay")
    setTimeout(() => {
        var x = document.getElementById("myAudio");
        // function playAudio() {
        x.play();
      },
      1000
    )
    // }
  </script>
</body>

如何处理这种情况?

任何提示都会很棒, 谢谢

【问题讨论】:

  • 自动播放功能正在慢慢地从大多数主流浏览器中删除phased
  • 这是 React 还是 Handlebars 还是 ...? &lt;button onclick={goPlay()}&gt;

标签: javascript html radio


【解决方案1】:

Firefox 错误准确地告诉您正在发生的事情。自动播放无法正常工作,因为用户(或者更具体地说,浏览器 - 请参阅 here)正在阻止它。

在用户与页面交互之前发生的任何播放 通过鼠标点击、可打印的按键或触摸事件,被视为 自动播放,如果可以听到,将被阻止。

【讨论】:

    【解决方案2】:

    就我而言,当我尝试在浏览器控制台中执行document.getElementsByTagName("video")[0].play() 时,在您提到的错误消息上方,出现警告Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted.。我可以通过先将视频静音或在 Firefox 中为网站权限选择“允许音频和视频”来执行代码。

    【讨论】:

    • 是的,目前一些浏览器会限制自动播放的功能以保持用户的安静,这可能会有效地导致错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多