Javascript 如何使一个音频文件等待另一个音频文件的结束,以便将它们一起启动
我正在尝试建立一个基本的采样器。我有4个不同的音频文件(1个吉他,1个鼓,1个钢琴和1个低音)。声音套件按钮按我想要的方式编程,但我无法使环路按我想要的方式工作 我想做的是:Javascript 如何使一个音频文件等待另一个音频文件的结束,以便将它们一起启动,javascript,jquery,html5-audio,Javascript,Jquery,Html5 Audio,我正在尝试建立一个基本的采样器。我有4个不同的音频文件(1个吉他,1个鼓,1个钢琴和1个低音)。声音套件按钮按我想要的方式编程,但我无法使环路按我想要的方式工作 我想做的是: 如果用户单击按钮,则会启动示例 如果用户再次单击同一按钮,则会停止样本 如果用户单击另一个示例,它将等待第一个示例的结束,然后一起开始 目前,我设法完成了第一步和第二步,但我不知道如何完成第三步 我试图使用事件监听器来知道循环何时结束,但我从未成功地使其工作 所以我的问题是:有没有一个简单的方法来完成第三步? 如果你能
- 如果用户单击按钮,则会启动示例
- 如果用户再次单击同一按钮,则会停止样本
- 如果用户单击另一个示例,它将等待第一个示例的结束,然后一起开始
$(document).ready(function() {
var basse = {
padOne: new Audio('basse2.mp3'),
};
var drum = {
padOne: new Audio('m1_drum1_85.mp3'),
};
var guitar = {
padOne: new Audio('m1_guitare1_85.mp3'),
};
var piano = {
padOne: new Audio('m1_piano_85.mp3'),
};
$('.pad-1').mousedown(function() {
if (basse.padOne.paused) {
basse.padOne.load()
basse.padOne.loop = true;
basse.padOne.play();
} else {
basse.padOne.pause();
basse.padOne.currentTime = 0
}
});
$('.pad-5').mousedown(function() {
if (drum.padOne.paused) {
drum.padOne.load()
drum.padOne.loop = true;
drum.padOne.play();
} else {
drum.padOne.pause();
drum.padOne.currentTime = 0
}
});
$('.pad-9').mousedown(function() {
if (guitar.padOne.paused) {
guitar.padOne.load()
guitar.padOne.loop = true ;
guitar.padOne.play();
} else {
guitar.padOne.pause();
guitar.padOne.currentTime = 0
}
});
$('.pad-13').mousedown(function() {
if (piano.padOne.paused) {
piano.padOne.load()
piano.padOne.loop = true ;
guitar.padOne.play();
} else {
piano.padOne.pause();
piano.padOne.currentTime = 0
}
});
});