Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法通过JS加载所有声音_Javascript_Html - Fatal编程技术网

Javascript 无法通过JS加载所有声音

Javascript 无法通过JS加载所有声音,javascript,html,Javascript,Html,我正在使用css3和html5开发一种javascript游戏。游戏目前使用多种声音。它们中的大多数都非常短,最多3秒。我在开始时加载它们,将它们存储在数组中,并根据用户操作播放它们。下面是它的代码: var Sounds=[]; var SoundsLoaded = 0; function AddSound( filename ) { var sound = new Audio(); //creating a new sound for the game

我正在使用css3和html5开发一种javascript游戏。游戏目前使用多种声音。它们中的大多数都非常短,最多3秒。我在开始时加载它们,将它们存储在数组中,并根据用户操作播放它们。下面是它的代码:

var Sounds=[];
var SoundsLoaded = 0;

function AddSound( filename )
{
    var sound = new Audio();          //creating  a new sound for the game
    sound.src = filename;
    sound.loop = false;
    sound.autoplay=false;
    sound.autobuffer=true;
    sound.preload="auto";

    Sounds.push( sound );            //add it to the container
}

function LoadSounds()
{
    for( i = 0; < src.length; i++)   //altogether about 150 files
       AddSound( src[i] );

    for( i = 0; i < Sounds.length; i++ )
    {
        Sounds[i].addEventListener( "loadeddata", function()
        { 
            SoundsLoaded++;

            if( SoundsLoaded == Sounds.length )
            {
                 AllSoundsLoaded();     //continue when all sounds are ready to use
            }
        });

        Sounds[i].addEventListener( "error", function()
        {
             alert(this.error.code);          //alerts with code 4
             alert(this.networkState);        //alerts with state 3
        });

        Sounds[i].load();
    } 
 }
在Chrome和Firefox中一切正常,但opera和IE存在一个问题: 加载少量声音后,出现错误: 媒体错误SRC不受支持4和网络错误源3

我很奇怪为什么会有错误,因为:

我肯定有音频文件 chrome和firefox正确加载所有文件 所有音频文件都在同一目录中 所有音频文件都使用相同的编解码器audio/x-vorbis+ogg或audio/mpeg。我使用的src设置为before-mp3,用于IE ogg,用于所有其他 有几次opera加载的文件少于32个,但在9/10的情况下opera加载!!!确切地156个声音中有32个,这些文件并不完全相同 6.有什么解决的建议吗?我希望避免将更多声音合并到一个声音中,而只播放适当的部分 经过测试的浏览器:Opera11.62、ff 11、chromium 18、ie 9、

有人见过这种行为吗? 我忘了还是应该设置一些音频元素属性? opera和IE是否对加载的声音数量有缓存限制?是否可以使用JS更改它