首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要在iOS中无延迟地通过互联网播放mp3音频(Swift)

需要在iOS中无延迟地通过互联网播放mp3音频(Swift)
EN

Stack Overflow用户
提问于 2020-05-27 13:20:27
回答 2查看 125关注 0票数 0

我们正在尝试使用AVPlayer实现低延迟的音频流(只存在编码的音频数据,没有视频数据)。我们已经测试了HTTP和HLS等音频流协议,并观察到播放的最小延迟为3秒。在开始播放之前,AVPlayer是否要求设备上至少有3秒的输入缓冲区?

延时缩短与音频播放质量有关联吗?

我们能减少这种延迟吗?如果是,有什么建议或推荐的实践吗?

EN

回答 2

Stack Overflow用户

发布于 2020-05-29 04:45:24

使用音频单元可以最小化延迟,因为音频单元可以要求配置非常短的音频缓冲区,通常是20 mS到5 mS,甚至在一些苹果设备上甚至更少。可以使用具有MTU大小的UDP数据包在网络上流式传输数据,在这种情况下,网络缓冲和流量干扰可能是增加延迟的主要因素。您可能必须添加一些延迟(循环环形缓冲区填充级别),以应对更糟糕的网络计时抖动。然后,对于mp3压缩音频,添加最小mp3块大小以及您选择的mp3解码器所需的时间。

其他API和协议可能会增加大量开销和缓冲延迟。

票数 0
EN

Stack Overflow用户

发布于 2020-05-30 03:10:45

如果缓冲区(也称为loadedTimeRanges)足以满足延迟条件,您可以手动观察playerItem.loadedTimeRanges和play pause AVPlayer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62035968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档