Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查是否加载了HTML5音频元素?_Javascript_Html5 Audio - Fatal编程技术网

Javascript 如何检查是否加载了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关于如何使用事件侦听器的答案。

我想知道如何检查是否加载了HTML5音频元素

要了解音频何时可以开始播放,请为音频添加侦听器。要了解音频何时加载,请收听:


函数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;