使用自动播放功能来播放使用HTML5音频的广播电台

时间:2019-04-10 01:10:49

标签: javascript html radio

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

  

NotAllowedError:用户代理或   当前上下文中的平台,可能是因为用户拒绝了   权限

这是我的html代码段:

<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>

如何处理这种情况?

任何提示都会很棒, 谢谢

2 个答案:

答案 0 :(得分:2)

Firefox错误告诉您正在发生的事情。由于用户(或更具体地说,浏览器-参见here)阻止了自动播放,因此无法正常播放。

  

在用户与页面互动之前发生的任何播放   通过鼠标单击,可打印的按键或触摸事件被认为是   会自动播放,如果可能会听到声音,则会被阻止。

答案 1 :(得分:1)

就我而言,当我尝试在浏览器控制台中执行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中为网站权限选择“允许音频和视频”来执行代码。