哪个 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 设计用于以低延迟从磁盘流式传输大型本地音频文件?的主要内容,如果未能解决你的问题,请参考以下文章

无延迟播放声音 iOS

在浏览器中以低延迟捕获声音输入

Android - 用于检查哪个设备(有线耳机或 USB 耳机)正在播放音频的 API(如果两者都已连接)

MySQL主从延迟分析

CoreAudio基础概念

适用于 Android 的低延迟音频 API?