【发布时间】:2014-08-25 08:00:33
【问题描述】:
这是我目前所拥有的。它创建一个 1-4 之间的随机数数组。但不是按顺序播放音频。它会立即播放所有 4 种声音。如果我将 audio 变量更改为在每次运行 for 循环时播放一个声音,它只会播放一次声音。
如何为数组中的每个项目播放声音?或者你能告诉我我做错了什么吗?
var level = 5
var myArray = [];
for (var i = 1; i < level; i++) {
myArray.push(getRandomInt(1,4));
}
for (var i = 0; i < myArray.length; i++) {
var audio = new Audio( 'sounds/' + myArray[i] + '.wav');
audio.play();
}
**更新**
所以我想出了如何依次播放它们。但我不知道如何根据数组中的数字播放声音。
var level = 5
var myArray = [];
for (var i = 1; i < level; i++) {
myArray.push(getRandomInt(1,4));
}
var audio0 = new Audio( 'sounds/blank.wav');
var audio1 = new Audio( 'sounds/1.wav');
var audio2 = new Audio( 'sounds/2.wav');
var audio3 = new Audio( 'sounds/3.wav');
var audio4 = new Audio( 'sounds/4.wav');
audio0.play();
audio0.addEventListener('ended', function(){ audio1.play();} )
audio1.addEventListener('ended', function(){ audio2.play();} )
audio2.addEventListener('ended', function(){ audio3.play();} )
audio3.addEventListener('ended', function(){ audio4.play();} )
【问题讨论】:
-
感谢您的建议。我能够弄清楚如何让声音一个接一个地播放。但无法根据数组中的数字播放声音。
标签: javascript arrays audio