[英]How to listen "onLoad" event in <audio> tags?
I've added a <script>
tag and used script.onload = callback
to run a callback when the element is completly renderized in document.我添加了一个
<script>
标记并使用script.onload = callback
在元素在文档中完全呈现时运行回调。 How can i do the same thing with <audio>
tags?我怎样才能用
<audio>
标签做同样的事情? I already try onload, but it don't works.我已经尝试过 onload,但它不起作用。 I already try "oncanplay", "oncanplaythrough", "onloadeddata" too.
我已经尝试过“oncanplay”、“oncanplaythrough”、“onloadeddata”。
Thanks谢谢
For media tags there are several events as can be found here [ https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events ]对于媒体标签,可以在此处找到多个事件 [ https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events ]
You could use onloadeddata
to run something after the media has completed loading您可以在媒体完成加载后使用
onloadeddata
运行某些内容
you could also try oncanplay
or oncanplaythrough
depending on whether you want a small part to buffer and load or the entire media to be loaded您还可以尝试
oncanplay
或oncanplaythrough
取决于您是要缓冲和加载一小部分还是要加载整个媒体
<audio oncanplaythrough="printAudioReady()" src="..." /> <span id="holder"></span>
in JS在JS中
function printAudioReady() {
document.querySelector('#holder').innerText="Audio loaded";
}
Edited the answer.编辑了答案。
new Audio()
works only in Firefox currently. 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>
Add a canplay
media event listener:添加一个
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.