我正在使用Audio Unit RemoteIO的实时音频渲染,我需要进行采样率转换,以确保我的渲染是与硬件规格相同的采样率。例如:iPhone 12的采样率为48 but,而iPhone 8的采样率为44.1 but。
为了实现这个采样率转换,我使用了AudioConverterFillComplexBuffer方法。然而,这其中有一个问题。为了确保我不会得到任何不足,我想检查AudioConverterFillComplexBuffer方法的源代码,看看内存分配是否是使用new关键字进行的。这是一个要求,因为mem alloc阻塞了它,所以永远不应该在远程io回调中使用它。
有没有办法从AudioToolBox的源代码中访问AudioConverterFillComplexBuffer函数?在xcode中我只能看到头文件。
发布于 2021-07-22 06:11:52
这个实现是苹果专用的,但是AudioConverterFillComplexBuffer和AudioConverter的C++端都是由IOProcs直接使用的,所以在实时上下文中调用该函数应该没有问题。
以下是来自AVAudioSourceNode的渲染块的屏幕截图:

https://stackoverflow.com/questions/68400693
复制相似问题