首页 > 解决方案 > 如何在howlerjs中声音结束时淡出?

问题描述

在 howler.js 中可以进行淡入淡出。

sound1.fade(1, 0, 2000);

但是当 sound1 开始播放时,这个淡入淡出就会触发。

如何在 howler.js 中给定声音的最后 2 秒内淡出?

标签: javascriptwebaudiohowler.js

解决方案


我能想到的最好方法就是等待适当的时间消失:

sound1.on('play', function(){
  var fadeouttime = 2000;
  setTimeout(
    function(){
      sound1.fade(1, 0, fadeouttime);
    },
    (sound1.duration() - sound1.seek())*1000 - fadeouttime
  );
});

类似的东西。如果音频暂停、停止等,您唯一需要担心的是取消超时。我不知道有更优雅的解决方案。


推荐阅读