在不使用AudioSession的情况下将音频单元采样率设置为16000 Hz

时间:2013-06-10 17:38:39

标签: iphone ios audiounit

我想在不使用音频会话的情况下请求16k Hz的采样率,但到目前为止还没有成功。

在配置麦克风/扬声器之前通过AudioUnitGetProperty / SampleRate查询硬件显示mSampleRate为0,文档中描述了暗示支持任何采样率,但也说硬件实际上会给你它最接近的一个。在我请求16k并再次查询硬件后,mSampleRate分别为麦克风和扬声器44100。使用AudioUnitGetProperty / SampleRate查询输入/输出总线的输入/输出范围在所有情况下都返回0,就像使用与StreamFormat的等效查询一样。使用AudioSessionGetProperty / CurrentHardwareSampleRate查询,尽管未配置或初始化会话,但返回44100.使用音频会话时,一切都按预期工作,但文档中没有描述这一点,除了提交到我不是的应用程序商店这样做。

我还不清楚,当使用音频会话并请求16k Hz时,会话是否在输入总线的输入和输出范围之间悄然转换为16k,或者硬件是否确实支持“任何”样本如文档中所述的速率。拥有硬件支持的采样率列表也很不错 - 很难理解为什么没有可查询列表。

我对描述如何执行此操作(没有会话)的任何相关文档感兴趣,或者确切地解释了我可以将输入总线的输出范围设置为哪些采样率。我在这里看到了各种线程的讨论,它必须是44.1k的降档,但到目前为止我还没有找到任何支持该断言的文档。

非常感谢。

0 个答案:

没有答案