AUAudioUnit 获取主机采样率变化

Posted

技术标签:

【中文标题】AUAudioUnit 获取主机采样率变化【英文标题】:AUAudioUnit getting host sample rate changes 【发布时间】:2019-03-25 01:15:26 【问题描述】:

只是一个简单的快速问题,我如何知道 AudioUnit 主机应用程序对采样率的更改?

我的自定义 AUAudioUnit v3 子类似乎没有任何要观察的属性,并且 AUHostMusicalContextBlock 不提供采样率检查。

我需要对主机应用程序中的采样率变化做出反应。

谢谢

【问题讨论】:

【参考方案1】:

我相信一个安全的地方是在 allocateRenderResourcesAndReturnError 中。例如,

mySampleRate = self.outputBus.format.sampleRate;

这就是 Apple 的 iosFilterDemoApp 的作用

【讨论】:

看来这不是答案。在 Apple 的 AUv3Filter 演示中,outputBussampleRate(44100) 由“适配器”设置并硬编码。我仍在寻找获取主机采样率的方法。 我也想看看这个,因为我无法检查项目的采样率何时发生变化

以上是关于AUAudioUnit 获取主机采样率变化的主要内容,如果未能解决你的问题,请参考以下文章

采样率改变后声音失真

如何获得本机(硬件支持)音频采样率以避免内部采样率转换?

采样位数采样率波特率

如何使用python获取mp3文件的采样率

Android - 录音 - 采样率

AVAssetReader 采样率