gpt4 book ai didi

javascript - 在 Javascript Windows 应用商店应用程序中加载许多音频文件

转载 作者:行者123 更新时间:2023-11-28 08:58:50 26 4
gpt4 key购买 nike

我在 Windows 应用商店应用程序中播放音频时遇到困难。我正在使用 JavaScript。代码如下。

当我尝试播放超过 200 个声音(平均大小 15KB)中的一个声音时,听起来就像来自《太空堡垒卡拉狄加》的赛昂人正在攻击我的应用程序。如果我等待足够长的时间就可以了,或者如果声音数组较少,那么它显然加载速度也会更快。

是否有事件或某种方法可以确定应用程序何时准备好播放所有声音?或者更好的方法?

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 < play.length,因为将对每个元素进行检查。

3-事实上,我建议您删除循环并在需要时(onclick)加载音频文件(为了用户友好,在其中放置一些加载图像或 Canvas )。

为此,您可能需要重写一些代码

var play = { sound1: urlWord, sound2: urlWord, sound3: urlWord,......};

虽然不是数组(数组在 JS 解释器中的实现很奇怪)您可以按以下链接循环播放它: stackoverflow link on iterating over objects mainly for in

在 onclick 中:

  something.onClick = function () {
//if the below works or else just use a temp var
new Audio("/sound/" + play[soundPos] + ".mp3").play();
}

关于javascript - 在 Javascript Windows 应用商店应用程序中加载许多音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com