哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?
Posted
技术标签:
【中文标题】哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?【英文标题】:Which iOS audio API is designed for streaming large local audio files from disk with low latency? 【发布时间】:2012-11-15 23:26:01 【问题描述】:我需要从磁盘播放非常大的音频文件,并将它们流式传输到内存中是最有效的。
我必须为此使用 OpenAL 还是有其他选择?
【问题讨论】:
您需要多低的延迟?您是在操作音频数据,还是只需要播放缓冲区? 【参考方案1】:我建议使用audio queues。它们易于使用、有据可查且高级别的。我建议使用extended audio file services 从文件中获取音频数据。
【讨论】:
【参考方案2】:在 ios 上,对于未压缩的音频数据,您可以映射大文件,然后只需将样本从内存复制到 RemoteIO 回调缓冲区。 RemoteIO 音频单元可以配置为比音频队列更低的延迟。
【讨论】:
【参考方案3】:一定要用Audio Unit,它是Apple最低级别的Audio API,所以非常适合低延迟..
您应该首先使用 remoteIO 初始化音频单元,它们在 while 循环中从您的文件中读取缓冲区,并在 AudioUnit 回调中将这些缓冲区推送到 AudioUnit
【讨论】:
以上是关于哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?的主要内容,如果未能解决你的问题,请参考以下文章