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元素,这就是为什么我用音频对象工作,因为我需要玩很多次不同的元素。
“4”的错误代码意味着“资源不是合适“,虽然都是相同的MP3,所以我不知道为什么它提高了这个错误。 http://www.w3.org/TR/html5/video.html#dom-mediaerror-media_err_src_not_supported – pimvdb 2011-12-15 16:09:52