AUSplitter可以将音频信号复制多份,但它只能在OS X上使用。那么我该如何在iOS中达到相同的效果呢?
AUSplitter可以将音频信号复制多份,但它只能在OS X上使用。那么我该如何在iOS中达到相同的效果呢?
供参考,kAudioUnitSubType_Splitter
音频单元是在 iOS 6 中添加的。来自 AUComponent 头文件:
enum {
kAudioUnitSubType_AUConverter = 'conv',
kAudioUnitSubType_Varispeed = 'vari',
kAudioUnitSubType_DeferredRenderer = 'defr',
kAudioUnitSubType_Splitter = 'splt',
kAudioUnitSubType_Merger = 'merg',
kAudioUnitSubType_NewTimePitch = 'nutp',
#if !TARGET_OS_IPHONE
kAudioUnitSubType_TimePitch = 'tmpt',
kAudioUnitSubType_RoundTripAAC = 'raac'
#else
kAudioUnitSubType_AUiPodTime = 'iptm',
kAudioUnitSubType_AUiPodTimeOther = 'ipto'
#endif
};
我最终创建了一个名为Splitter的自定义类。Splitter类允许您设置其上游音频单元。
它还具有类似于AudioUnitRender的渲染方法。当其渲染方法被调用时,它在请求其上游音频单元进行渲染和缓冲已呈现数据之间交替,并简单地返回上次呈现操作的缓冲副本。
这只是一个1-2分配器,它不处理格式转换,但对我所需的内容起作用。