需要通过Internet播放mp3音频,而不会在iOS中出现延迟(Swift)

问题描述 投票:0回答:2

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

减少延迟时间是否与音频播放的质量相关?

我们可以减少此延迟吗?如果是,是否有任何建议或推荐做法?

avfoundation avplayer core-audio hlsl avplayerlayer
2个回答
0
投票

通过使用音频单元可以将延迟最小化,因为音频单元可以要求配置非常短的音频缓冲区,通常在20 mS到5 mS甚至在某些Apple设备上更低。具有MTU大小数据包的UDP可用于在网络上传输数据,其中网络缓冲和流量干扰可能是增加延迟的主要因素。您可能必须添加一些延迟(圆形环形缓冲区填充级别),以解决网络定时抖动的更坏情况。然后,对于mp3压缩音频,加上最小的mp3块大小以及您选择的mp3解码器需要多长时间。


0
投票

如果缓冲区(又名loadedTimeRanges)足以满足您的延迟条件,您可以手动观察playerItem.loadedTimeRanges播放暂停AVPlayer,>

© www.soinside.com 2019 - 2024. All rights reserved.