flutter - 淡入淡出音频
问题描述
我正在使用 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 中调用它。音频播放一次,在打印状态时,我可以看到我已完成,但它不再播放。
对此有解决方案的任何想法?
解决方案
推荐阅读
- delphi - Https Post 在某些计算机上给出错误 500
- typescript - 在 typescript 类型的对象键名上施加一些模式
- authentication - Quarkus:如何使用 swagger-ui 测试安全的 API 端点
- c - malloc 如何从堆中获取内存?
- .net-core - .net core 3.1 Console App 找不到配置文件“appsettings.json”
- r - 根据时间戳识别 R data.frame 中 Remark 列的更改位置
- javascript - 从哈希数组返回平均值
- c++ - 检测球体和三角形之间的碰撞
- swift - 使用 Swift 包构建期间来自 IB 的非常奇怪的错误,使用 IBDesignable
- python - 从熊猫数据框中更新一行