audio.currentTime invalidStateError IE11,JS,HTML5

时间:2013-11-27 14:32:59

标签: javascript html5 internet-explorer

我在IE11中收到此错误,我暂时更改了所有变量只是一个数字,但我无法摆脱这个错误。

audio.currentTime = 10;

错误如下:

SCRIPT5022: InvalidStateError

此脚本适用于Chrome和Firefox。 根据{{​​3}}它应该有用。

3 个答案:

答案 0 :(得分:17)

我知道这个问题已经过时了,但我遇到了同样的问题,想发布我学到的东西。

您的音频播放器是否成功加载了音频?如果src =“#”或者你给了播放器错误的音频文件路径,那么你提供的代码行就会出现你提到的错误。

我建议尝试以下代码,其中audioPlayer是音频元素的id,以执行音频文件确实已加载的简单检查:

    if (!isNaN(aud.duration)) {
        aud.currentTime = vid.currentTime;
    }

但是,当然,如果您希望音频已加载,请修复音频文件的路径

答案 1 :(得分:14)

在IE11中,在加载视频的元数据之前访问视频的currentTime属性时会发生此错误。所以下面的代码解决了我的错误。

vidEl.addEventListener('loadedmetadata', function() {
  vidEl.currentTime = someSeekTime;
}, false);

希望这有助于某人。

答案 2 :(得分:0)

只需补充一点,就是将Wav文件转换为MP3可以为我解决此问题。使用https://stackoverflow.com/a/20462684/5053952可以防止该错误,但是Wav文件仍然无法播放。转换为MP3可以完全解决该问题。

(Win10上为IE11)