如何替换 iOS(音频单元)上已弃用的 AudioUnitSampleType?

How to replace the deprecated AudioUnitSampleType on iOS (Audio Units)?

我一直在研究 iOS 的音频单元托管指南,然后尝试使用提供的示例项目。但是,所有这些项目都使用已弃用的 AudioUnitSampleType(这似乎是一个简单的 typedef)。这可能是一个菜鸟问题,但我该如何着手改变它呢? 就我的理解而言,我应该根据目标 iOS 版本将其替换为不同类型(SInt16 或 Float)(当然,我希望尽可能多地作为目标)。那么我应该只写一堆#ifndef 还是我遗漏了什么?

而不是 guessing/ifdef'ing,您应该为每个音频单元获取 kAudioUnitProperty_StreamFormat 属性,并在 iOS 版本下使用该音频单元的本机格式.对于任何最近的 iOS 设备上的任何最近的 iOS 版本,很可能是 4 字节浮点数,就像所有最近的 Apple A?处理器可以使用浮点数进行运算,速度与使用 SInt16 或 SInt32 数据一样快或更快。