繁体   English   中英

如何监听“onLoad”事件<audio>标签?

[英]How to listen "onLoad" event in <audio> tags?

我添加了一个<script>标记并使用script.onload = callback在元素在文档中完全呈现时运行回调。 我怎样才能用<audio>标签做同样的事情? 我已经尝试过 onload,但它不起作用。 我已经尝试过“oncanplay”、“oncanplaythrough”、“onloadeddata”。

谢谢

对于媒体标签,可以在此处找到多个事件 [ https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events ]

您可以在媒体完成加载后使用onloadeddata运行某些内容

您还可以尝试oncanplayoncanplaythrough取决于您是要缓冲和加载一小部分还是要加载整个媒体

<audio oncanplaythrough="printAudioReady()" src="..." /> <span id="holder"></span>

在JS中

function printAudioReady() {
  document.querySelector('#holder').innerText="Audio loaded";
}

编辑了答案。 new Audio()目前仅适用于 Firefox。

 const audio = document.getElementById('myAudio') audio.onloadeddata = function(data) { console.log(data); }; audio.src = "https://sample-videos.com/audio/mp3/crowd-cheering.mp3"
 <audio id="myAudio"></audio>

添加一个canplay 媒体事件监听器:

mediaFile = new Audio('/path/to/media.mp3')
mediaFile.addEventListener('canplay', function() { console.log('Ready to play') })

暂无
暂无

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

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