通过HDMI播放iOS音频 - 如何处理48khz采样率?

mor*_*des 5 core-audio ios

我很高兴合成音频(44.1khz)并通过RemoteIO音频单元发送出去.我注意到我的应用程序的音频在通过HDMI输出到特定型号的电视时"乱码".在我看来,这个问题与这台电视正在寻找48khz的音频数据这一事实有关.

以下是一些问题:

  • RemoteIO是否采用其输出的任何设备的采样率?如果我通过HDMI将音频发送到要求48kz的设备,我的RemoteIO回调缓冲区会变为48khz吗?

  • 是否有一些整洁的方法来强制RemoteIO仍然以44.1khz的方式思考,并且在将数据传输到设备之前,是否足够聪明以自行执行任何必要的采样率转换?

  • 如果RemoteIO确实只是按照它所连接的设备,那么我可能需要在我的综合引擎和远程IO之间进行一些采样率转换.AudioConverterConvertComplexBuffer是最好的方法吗?

hot*_*aw2 1

如果您想要采样率转换,请尝试使用音频队列 API,或使用一些 DSP 代码在您自己的应用程序中进行转换。

RemoteIO 缓冲区大小或采样率是否可以配置可能取决于 iOS 设备型号、操作系统版本、音频路由、后台模式等,因此应用程序在使用 RemoteIO 时必须适应不同的缓冲区大小和采样率。