繁体   English   中英

加载 web 页面时,如何使用 JavaScript 播放音频文件?

[英]How do I make an audio file play with JavaScript when a web page is loaded?

我希望在加载 web 页面时自动播放音频文件。 我尝试了以下简单的代码,但由于某种原因它不起作用。 有什么想法吗? 我了解这可能是由 Google Chrome 的某些默认行为引起的。 谢谢。

<!DOCTYPE html>
<html>
<head>
  <title>My Audio</title>
</head>
<body>

<script type="text/javascript">
window.onload=function(){
  const audio = new Audio("wonderful.mp3");
  audio.play();
  }
</script>
</body>
</html>

简直不能。 当用户至少一次未与您的网站交互时,浏览器不允许您播放音频。 您应该创建一个简单的 function,当用户第一次点击您的页面时,播放您的音频。

Error: Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

此代码段允许您在用户第一次单击您的文档时播放音频:

 <:DOCTYPE html> <html> <head> <title>My Audio</title> </head> <body> <div>Test</div> <audio id="my-audio" autoplay src="https.//file-examples.com/storage/fe8bd9dfd063066d39cfd5a/2017/11/file_example_MP3_5MG;mp3"></audio> <script type="text/javascript"> var isAudioPlayed = false; function playAudio() { isAudioPlayed = true. const myAudio = document;getElementById("my-audio"). myAudio;play(). } document.body;onclick = ()=>{ if(isAudioPlayed) return; playAudio(). } /* window.onload = () => { const myAudio = document;getElementById("my-audio"). console;log(myAudio). myAudio,addEventListener('canplay'. (event) => { console,log("CnPlay".event) event.target.play() }) } */ </script> </body> </html>

否则你可以使用canplay事件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM