Javascript 如何检查是否加载了HTML5音频元素?
我想知道如何检查是否加载了HTML5音频元素 要了解音频何时可以开始播放,请为音频添加侦听器。要了解音频何时加载,请收听:Javascript 如何检查是否加载了HTML5音频元素?,javascript,html5-audio,Javascript,Html5 Audio,我想知道如何检查是否加载了HTML5音频元素 要了解音频何时可以开始播放,请为音频添加侦听器。要了解音频何时加载,请收听: 函数myOnCanPlayFunction(){console.log('Can play');} 函数myOnCanPlayThroughFunction(){console.log('Can play through');} 函数myOnLoadedData(){console.log('Loaded data');} 查看robertc关于如何使用事件侦听器的答案。
函数myOnCanPlayFunction(){console.log('Can play');}
函数myOnCanPlayThroughFunction(){console.log('Can play through');}
函数myOnLoadedData(){console.log('Loaded data');}
查看robertc关于如何使用事件侦听器的答案。您还可以直接检查音频元素的就绪状态:
var myAudio = $('audio')[0];
var readyState = myAudio.readyState;
readyState
将是一个数字。发件人:
- 0-没有关于媒体资源的可用信息
- 1-已检索到足够的媒体资源以初始化元数据属性。搜索将不再引发异常
- 2-数据可用于当前播放位置,但不足以实际播放多个帧
- 3-当前播放位置以及未来至少一段时间的数据可用(换句话说,例如,至少两帧视频)
- 4-有足够的数据可用,并且下载速率足够高,媒体可以在不中断的情况下播放到底
networkState是前面提到的readyState的一个有用的伴生属性,在readyState可能不足的某些上下文中非常方便,例如识别文件是否可能加载。这可以通过定期检查来完成。如果可以,您能提供一个示例或解释侦听器以及如何实现它们吗。@auragar侦听器是一个标准的DOM/JavaScript东西,只是在google上搜索“DOM事件侦听器”。你如何实现它们取决于你希望它们做什么。是的,我发现我试图在Javascript而不是DOM中使用它。谢谢。很抱歉破坏了这个已接受的答案,但loadeddata事件显示“媒体的第一帧已完成加载”,也就是说,大多数文件当时没有加载。@makc您认为为什么会破坏这个答案?
var myAudio = $('audio')[0];
var readyState = myAudio.readyState;
var myAudio = new Audio(url);
var networkState = myAudio.networkState;