当元素在文档中完全呈现时,我添加了<script>
标记并使用script.onload = callback
来运行回调。
我如何使用<audio>
标签做同样的事情?
我已经尝试过onload,但是它不起作用。
我已经尝试过“ oncanplay”,“ oncanplaythrough”,“ onloadeddata”。
谢谢
答案 0 :(得分:0)
对于媒体标签,有几个事件可以在这里找到[https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events]
您可以在媒体完成加载后使用onloadeddata
运行某些内容
您还可以尝试oncanplay
或oncanplaythrough
,具体取决于您是希望缓存还是加载一小部分,还是要加载整个媒体
<audio oncanplaythrough="printAudioReady()" src="..." /> <span id="holder"></span>
在JS中
function printAudioReady() {
document.querySelector('#holder').innerText="Audio loaded";
}
答案 1 :(得分:0)
编辑了答案。 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>
答案 2 :(得分:0)
添加一个canplay
media event侦听器:
mediaFile = new Audio('/path/to/media.mp3')
mediaFile.addEventListener('canplay', function() { console.log('Ready to play') })