如果声音淡出完成后,如何自动触发事件sound.stop()(淡入目标音量= 0.3),并且一旦音量为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>
&#13;
答案 0 :(得分:1)
.fade()方法会触发&#34; fade&#34;完成后的活动。您可以将侦听器附加到声音对象
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!");
}