在Javascript Windows应用商店应用程序中加载许多音频文件
在Windows应用商店应用程序中播放音频时遇到困难。我正在使用JavaScript。代码如下 当我尝试播放平均大小为15KB的200多个声音阵列中的声音时,听起来像是来自太空堡垒卡拉狄加的赛昂人在攻击我的应用程序。如果我等待的时间足够长,或者如果声音数组较少,那么显然加载速度也会更快 是否有事件或某种方式来确定应用程序何时准备好播放所有声音?还是更好的方法在Javascript Windows应用商店应用程序中加载许多音频文件,javascript,windows,microsoft-metro,windows-store-apps,Javascript,Windows,Microsoft Metro,Windows Store Apps,在Windows应用商店应用程序中播放音频时遇到困难。我正在使用JavaScript。代码如下 当我尝试播放平均大小为15KB的200多个声音阵列中的声音时,听起来像是来自太空堡垒卡拉狄加的赛昂人在攻击我的应用程序。如果我等待的时间足够长,或者如果声音数组较少,那么显然加载速度也会更快 是否有事件或某种方式来确定应用程序何时准备好播放所有声音?还是更好的方法 var play = new Array("over", "200", "sounds", "in", "this", "list", "
var play = new Array("over", "200", "sounds", "in", "this", "list", "that", "average", "15KB");
for (var i = 0; i< play.length; ++i){
tmpAudio = new Audio("/sound/" + words[i] + ".mp3");
play[i] = tmpAudio;
}
something.onClick = function () {
play[soundPos].play();
}
嗯,问题是我相信for循环,您主要做的是将所有声音文件加载到内存中,首先缓存过多,这会降低速度 我建议进行一些修改: 1-使用[]创建数组 2-缓存一个var arrayLength=play.length,并在循环中使用它,而不是i
var play = { sound1: urlWord, sound2: urlWord, sound3: urlWord,......};
虽然不是,但是数组在JS解释器中实现得很奇怪
您可以通过以下链接在其上循环:
在onclick中:
something.onClick = function () {
//if the below works or else just use a temp var
new Audio("/sound/" + play[soundPos] + ".mp3").play();
}
谢谢我踢自己,也谢谢你!是的,我真正需要做的就是点击新的音频并播放。再次感谢。