我正在尝试在我的 html 文件上自动启动网络广播。目前使用自动播放失败,我假设 radio 错过了加载一些数据的时间,因此自动播放被阻止了。我创建了一个 setTimeout 函数来处理它。现在该功能拒绝在 Firefox 和 Opera 上启动。 Firefox 的错误日志是最有用的,这里转载:
NotAllowedError: The play method is not allowed by the user agent or the platform in the current context, possibly because the user denied permission
这里是我的 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>
如何处理这种情况?
任何提示都会很棒,谢谢
Firefox 错误准确地告诉您发生了什么。自动播放不起作用,因为用户(或更具体地说,浏览器 - 请参阅 here)阻止了它。
Any playback that happens before the user has interacted with a page via a mouse click, printable key press, or touch event, is deemed to be autoplay and will be blocked if it is potentially audible.
我是一名优秀的程序员,十分优秀!