我有2个音频文件,this.audio1和this.audio2。对于每个试验,用户应该选择两个文件是相同还是不同。所以,我想一个接一个地播放这两个音频文件,等待用户点击相同或不同的按钮,然后进入下一个试用版。这是我到目前为止播放音频文件的代码:
for (var i = 0; i < this.numTrials; i++){
var audio1; // these are actually initialized, obviously, in my code
var audio2;
var noRepeat = true;
audio1.addEventListener('ended', function () {
if (noRepeat) {
audio2.play();
noRepeat = false;
}
});
audio2.addEventListener('ended', function () {
game.audioComplete = true;
});
audio1.play();
// here, I want to add code so it waits until a button is pressed before moving on
}
我尝试了一个eventListener,我的评论是在哪里,它没有用(它只是保持循环)。有没有人对我可以使用的东西有任何建议&#34;暂停&#34;循环并等待按下按钮,然后让它继续前进?
谢谢!
答案 0 :(得分:1)
像这样的东西,这与@fixatd评论的内容相同。
var globalPlayCount = 0;
...
function play() {
if(globalPlayCount < this.numTrials) {
globalPlayCount++:
audio1.play();
}
}
...
按下按钮点击play()
。只需确保您的事件监听器都完整无缺。