我得到這個錯誤在IE11中,我暫時只改變了一個數字的所有變量,但我無法擺脫這個錯誤。audio.currentTime invalidStateError IE11,JS,HTML5
audio.currentTime = 10;
錯誤的樣子:
SCRIPT5022: InvalidStateError
這個腳本作品在Chrome和Firefox良好。 根據this page它應該工作。
我得到這個錯誤在IE11中,我暫時只改變了一個數字的所有變量,但我無法擺脫這個錯誤。audio.currentTime invalidStateError IE11,JS,HTML5
audio.currentTime = 10;
錯誤的樣子:
SCRIPT5022: InvalidStateError
這個腳本作品在Chrome和Firefox良好。 根據this page它應該工作。
我知道這個問題是舊的,但我只是遇到了同樣的問題,想發佈我學到的東西。
您的音頻播放器是否成功加載了音頻?如果src =「#」或者如果您給播放器提供了音頻文件的錯誤路徑,那麼您提供的代碼行會給出您提到的錯誤。
我建議嘗試以下代碼,其中audioPlayer是音頻元素進行簡單的檢查ID的音頻文件確實已經加載:
if (!isNaN(aud.duration)) {
aud.currentTime = vid.currentTime;
}
不過,當然,如果你期待音頻已加載,修復音頻文件的路徑
在IE11中,在加載視頻的元數據之前訪問視頻的currentTime
屬性時發生此錯誤。下面的代碼解決了我的錯誤。
vidEl.addEventListener('loadedmetadata', function() {
vidEl.currentTime = someSeekTime;
}, false);
希望這可以幫助別人。
對於打字稿/反應這工作得很好。 this.audioEl.onloadedData = function():void {this.audioEl.currentTime = newTime; } .bind(本); –
這節省了我幾個小時! – Orry
由於IE並沒有真正地支持任何東西,我想出的最快解決方案是在我的音頻功能上加入try/catch。如果IE用戶仍然使用該瀏覽器,則不應允許IE用戶發出聲音... – Jester