Flutter 中是否有支持淡入淡出的插件

Isl*_*mam 5 audio record dart flutter

我正在使用 Flutter 中的 flutter_sound。我只是想在颤动中淡入和淡出声音文件

Dom*_*oMG 6

我创建了一种允许您淡入或淡出的方法。

如果你想淡出,你必须输入:

3秒将音量从0.0增加到1.0。

淡入:

淡入淡出(1.0,0.0,3 * 1000);

消退:

淡入淡出(0.0、1.0、3 * 1000);

如果它对您有用,请不要忘记评价我的答案,问候。

void fade( double to, double from, int len ) {
      double vol = from;
      double diff = to - from;
      double steps = (diff / 0.01).abs() ;
      int stepLen = Math.max(4, (steps > 0) ? len ~/ steps : len);
      int lastTick = DateTime.now().millisecondsSinceEpoch ;

      // // Update the volume value on each interval ticks
      Timer.periodic(new Duration(milliseconds: stepLen), ( Timer t ) {
          var now = DateTime.now().millisecondsSinceEpoch;
          var tick = (now - lastTick) / len;
          lastTick = now;
          vol += diff * tick;

          vol = Math.max(0, vol);
          vol = Math.min(1, vol);
          vol = (vol * 100).round() / 100;

          player.setVolume(vol); // change this

          if ( (to < from && vol <= to) || (to > from && vol >= to) ) {
            if (t != null) {
              t.cancel() ;
              t = null;
            }
            player.setVolume(vol); // change this
          } 
      });
  }
Run Code Online (Sandbox Code Playgroud)