在iOS中是否有AUSplitter的替代品?

时间:2012-02-21 19:28:25

标签: ios

AUSplitter接收音频信号并制作多份副本。但是,它仅适用于OS X.如何在iOS中实现相同的效果?

2 个答案:

答案 0 :(得分:3)

为了将来参考,在iOS 6中添加了kAudioUnitSubType_Splitter音频单元。来自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
};

答案 1 :(得分:0)

我最终创建了一个名为Splitter的自定义类。 Splitter类允许您设置其上游音频单元。

它还有一个类似于AudioUnitRender的渲染方法。当调用其render方法时,它会在要求其上游音频单元渲染和缓冲渲染数据之间交替,并简单地返回上次渲染操作的缓冲副本。

它只有一个1-2 Splitter,它不处理格式转换,但它适用于我需要的。