如果已经播放,请停止
问题描述:
我需要一些帮助实现.playing()方法,当我的playSound函数被调用时,我想停止当前正在播放的任何内容,并播放新请求的声音,这里是我的示例,不是它的每一个所谓的时间停止:如果已经播放,请停止
function playSound(audio) {
var playing;
var sound = new Howl({
src: ['assets/sound/voice/' + audio],
autoplay: false,
volume: 0.9,
onplay: function() {
playing = true;
},
onend: function() {
playing = false;
}
});
if(playing) {
sound.stop();
} else {
sound.play();
}
}
答
的解决方案,最终,是创建“声音”的全局变量:
var sound = null;
function playSound(audio) {
//check if sound is null, if not stop previous sound and unload it
if (sound != null) {
sound.stop();
sound.unload();
sound = null;
}
sound = new Howl({
src: ['assets/sound/voice/' + audio]
});
sound.play();
}