颤动音频播放延迟 [英] flutter audio play delay
本文介绍了颤动音频播放延迟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用audioplayers
package播放我存储在Firebase云存储中的mp3音频文件。安卓和iOS都有明显的延迟,安卓的速度只略快一些。此后,我已将所有音频声音文件移动到本地资产。
AudioPlayer audioPlayer = AudioPlayer(mode: PlayerMode.LOW_LATENCY);
play(String url) async {
int result = await audioPlayer.play(url);
if (result == 1) {
// success
print('success');
}
}
就在几天前,我在iOS Swift中测试了音频播放器,播放了Firebase云存储中的一些音频文件,但没有遇到任何明显的延迟,而且速度快了很多。
我需要找到一种方法来解决这个问题,因为我有很多音频文件,它们需要存储在网络中。你们中有谁遇到过类似的问题,有什么好的建议吗?
推荐答案
更新
制作了second PR,解决了first original PR的几个缺点。两者都合并到audioplayers的主分支中。
我的PR更改为:
playbackRate
始终在playImmediatelyAtRate
中使用,而不是常量值--由库初始设置为_defaultPlaybackRate
,即1.0
playImmediatelyAtRate
也被添加到resume
方法中,而不仅仅是play
原始解决方案
这是帮助解决OP音频播放延迟的最终代码:
play
&;resume
方法
AVPlayer *player = playerInfo[@"player"];
float playbackRate = [playerInfo[@"rate"] floatValue];
if (@available(iOS 10.0, *)) {
[player playImmediatelyAtRate:playbackRate];
} else {
[player play];
}
因此调用[player playImmediatelyAtRate:playImmediatelyAtRate:playbackRate]
而不是[player play];
似乎可以解决问题。
到目前为止,它还没有合并到酒吧中,仍然是一个开放的first incomplete PR已经合并,second PR也是。
原创评论:
this打开的拉取请求应该会修复iOS上的延迟。这还没有达到发布版本。还有this关于初始滞后较大的讨论。这篇关于颤动音频播放延迟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文