Howler.js - 当声音结束衰减或音量改变时触发事件
Howler.js - Fire events when sound finishes fading or volume has changed
如何在声音衰减完成(衰减目标音量 = 0.3)时自动触发事件 sound.stop() 并在音量达到时立即显示警报弹出窗口 window 0.6?
<!DOCTYPE html>
<script src="https://rawgit.com/goldfire/howler.js/master/src/howler.core.js"></script>
<button onclick="Play()">Play</button>
<button onclick="StartFade()">Fade</button>
<script>
var sound = new Howl({
src: ['https://howlerjs.com/assets/howler.js/examples/player/audio/rave_digger.webm']});
function Play() sound.play();
function StartFade() sound.fade(1, 0.3, 2000);
</script>
.fade() 方法在完成时触发 "fade" 事件。您可以将侦听器附加到声音对象
sound.on('fade', function(){
console.log('#Faded!!');
});
或者,您可以在创建新的 Howl 时设置 onFade() 方法。
var sound = new Howl({
src: ['https://howlerjs.com/assets/howler.js/examples/player/audio/rave_digger.webm'],
onFade: function(){
//stuff goes here!
}
});
为了在音量达到 0.6 时显示警报,您可以链接回调,因此第一个淡入淡出方法实际上只是从 1 到 0.6,然后在事件侦听器中,弹出警报,然后从0.6 到 0.3
使用 onFade() 和 onVolume() 方法,您也可以这样写,尽管它会在音量设置为 0.6 时发出此警报,无论是否淡入淡出。
onVolume: function(){
if (this.volume == 0.6)
alert("Volume is currently 0.6!");
}
如何在声音衰减完成(衰减目标音量 = 0.3)时自动触发事件 sound.stop() 并在音量达到时立即显示警报弹出窗口 window 0.6?
<!DOCTYPE html>
<script src="https://rawgit.com/goldfire/howler.js/master/src/howler.core.js"></script>
<button onclick="Play()">Play</button>
<button onclick="StartFade()">Fade</button>
<script>
var sound = new Howl({
src: ['https://howlerjs.com/assets/howler.js/examples/player/audio/rave_digger.webm']});
function Play() sound.play();
function StartFade() sound.fade(1, 0.3, 2000);
</script>
.fade() 方法在完成时触发 "fade" 事件。您可以将侦听器附加到声音对象
sound.on('fade', function(){
console.log('#Faded!!');
});
或者,您可以在创建新的 Howl 时设置 onFade() 方法。
var sound = new Howl({
src: ['https://howlerjs.com/assets/howler.js/examples/player/audio/rave_digger.webm'],
onFade: function(){
//stuff goes here!
}
});
为了在音量达到 0.6 时显示警报,您可以链接回调,因此第一个淡入淡出方法实际上只是从 1 到 0.6,然后在事件侦听器中,弹出警报,然后从0.6 到 0.3
使用 onFade() 和 onVolume() 方法,您也可以这样写,尽管它会在音量设置为 0.6 时发出此警报,无论是否淡入淡出。
onVolume: function(){
if (this.volume == 0.6)
alert("Volume is currently 0.6!");
}