首页 > 解决方案 > 淡入淡出音频

问题描述

我正在使用 Just-Audio 播放资产文件(现在,我最终会转而流式传输它们)但我需要在一段时间内淡入淡出音频。现在,有一种解决方法,我只是加载淡入淡出的文件,但音频的长度在 10 到 30 分钟之间,我想到的减小文件大小的一种方法是尝试使用无间隙循环,并且每个循环都会降低音量,但我似乎无法让它工作。

这是我正在尝试做的一个例子:

void fadeoutAudio() {
    for (int i = 0; i < 10; i++) {
      _audioPlayer.playerStateStream.listen((PlayerState state) {

        switch (state.processingState) {
          case ProcessingState.ready:
            print(ProcessingState.ready);
            _audioPlayer.play();
            break;
          case ProcessingState.completed:
            print(ProcessingState.completed);

            _volume = _volume - 0.1;
            _audioPlayer.setVolume(_volume);
            _audioPlayer.play();
            break;
        }
      });
    }

我在 initstate 中调用它。音频播放一次,在打印状态时,我可以看到我已完成,但它不再播放。

对此有解决方案的任何想法?

标签: flutterdartjust-audio

解决方案


推荐阅读