如何检查是否加载了HTML5音频元素?

时间:2011-11-09 01:40:06

标签: javascript html5-audio

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

2 个答案:

答案 0 :(得分:23)

查看robertc关于如何使用事件监听器的答案。您还可以直接检查音频元素的就绪状态:

var myAudio = $('audio')[0];

var readyState = myAudio.readyState;

readyState将是一个数字。来自Mozilla's docs

  • 0 - 没有关于媒体资源的信息。
  • 1 - 已检索足够的媒体资源以初始化元数据属性。寻求将不再提出异常。
  • 2 - 数据可用于当前播放位置,但不足以实际播放多个帧。
  • 3 - 可以获得当前播放位置的数据以及至少一段时间的数据(例如,至少两帧视频)。
  • 4 - 有足够的数据 - 下载速度足够高 - 媒体可以不间断地播放到最后。

答案 1 :(得分:1)

另一个选项是networkState

public static waitForPresenceOfNumberOfElements(elementArrayFinder: ElementArrayFinder, numberOfElements: number) {
        return browser.wait(() => {
            return elementArrayFinder.count().then((actualCount) => {
            return actualCount === numberOfElements;
            });
        }, 60000, `Could not find exactly ${numberOfElements} elements on the page`);
    }

networkState 是前面提到的 readyState 的有用伴随属性,并且在 readyState 可能不足的某些上下文中非常有用,例如辨别文件是否可能会加载。这可以通过按设定的时间间隔检查来完成。