2011-12-15 143 views
5

我需要在我的頁面上加載近20個聲音。我想也許我需要所以這就是爲什麼你會看到INPROGRESS財產在IE中加載6個音頻後,HTML5音頻返回錯誤MEDIA_ERR_SRC_NOT_SUPPORTED

loadAudio: function() { 
     if (this.inProgress <= 1) { 
      this.inProgress++; 
      var elem = this.audioQueue.pop(); 
      if (elem != null) { 
       var path = elem.Path + elem.Fileid + ((this.canPlayMp3) ? '.mp3' : '.wav'); 

       audio = new Audio(); 
       audio.src = "http://localhost:55578/~/x.mp3"; 
       audio.addEventListener('loadedmetadata', function (e) { AudioPlayer.audioLoaded(e); }, false); 
       //audio.addEventListener('loadeddata', function (e) { AudioPlayer.audioLoaded(e); }, false); 
       audio.addEventListener('error', function (e) { AudioPlayer.audioLoaded(e); }, false); 
       if (elem.AudioType == AudioPlayerTypes.Keyboard) { 
        this.keyboardAudio[elem.Id] = audio; 
       } 
      } 
     } 



audioLoaded: function (e) { 
     var t = e.target; 
     if (e.type == "error") { 
      var code = e.target.error.code; 

      console.log("error" + t.currentSrc + e.target.error.code); 
     } else { 
      console.log("loaded" + t.currentSrc); 
     } 
     this.inProgress--; 
     this.loadAudio(); 
    } 

正如你可以看到我加載相同的聲音只是爲了測試,但同樣的問題後6個音頻我得到錯誤

僅2元分裝
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: loadedhttp://localhost:55578/~/x.mp3 
LOG: errorhttp://localhost:55578/~/x.mp3 (4 - is error code) 

它在Chrome,Firefox中非常酷,但在IE中不起作用。 我找不到任何限制和解決方案。

另外還有一個問題:我讀過幾次最好避免使用DOM元素,這就是爲什麼我用音頻對象工作,因爲我需要玩很多次不同的元素。

+0

「4」的錯誤代碼意味着「資源不是合適「,雖然都是相同的MP3,所以我不知道爲什麼它提高了這個錯誤。 http://www.w3.org/TR/html5/video.html#dom-mediaerror-media_err_src_not_supported – pimvdb 2011-12-15 16:09:52

回答

1

那麼它真的很奇怪,一般錯誤是正確的,因爲IE沒有免費資源。 在我的筆記本電腦上充電器問題,電腦真的很慢,今天我改變了它,並且電腦工作得更快,聲音在資源管理器中正常加載:)