我在IE11中收到此错误,我暂时更改了所有变量只是一个数字,但我无法摆脱这个错误。
audio.currentTime = 10;
错误如下:
SCRIPT5022: InvalidStateError
此脚本适用于Chrome和Firefox。 根据{{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)