在IE中加载6个音频后,Html5音频返回错误MEDIA_ERR_SRC_NOT_SUPPORTED

Vol*_*hat 5 javascript audio html5 internet-explorer

我需要在我的页面上加载近20种声音.我想也许我需要分别加载2个元素,这就是为什么你会看到inProgress属性

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();
    }
Run Code Online (Sandbox Code Playgroud)

你可以看到我正在加载相同的声音只是为了测试,但6音频后出现同样的问题我有错误

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)
Run Code Online (Sandbox Code Playgroud)

它在Chrome,Firefox中非常酷,但在IE中却不行.我找不到任何限制和解决方案.

另外一个问题:我读过有时候最好避免使用DOM元素,这就是为什么我要使用音频对象,因为我需要多次播放不同的元素.

Vol*_*hat 1

嗯,这真的很奇怪,一般错误是正确的,因为 IE 没有免费资源。在我的笔记本电脑上,充电器出现问题,计算机速度非常慢,今天我更换了它,计算机运行速度更快,并且声音正确加载到资源管理器中:)