使用iOS Reverb效果

时间:2013-04-16 19:15:08

标签: ios core-audio effects audiounit

kAudioUnitSubType_Reverb2效果在我的音频单元图中不起作用。当我从图中排除它的节点时,一切正常。我尝试在前一个节点和混响节点之间以及混响之后添加转换器。我确实将转换器节点输入的流格式设置为前一节点输出的格式,并将转换器的输出设置为混响输入。我初始化音频图时只得到错误-10868。 如何使它工作?

这是我的图表:

AudioUnitGraph 0x186000:
  Member Nodes:
    node 1: 'aufc' 'conv' 'appl', instance 0x1b3a60 O  
    node 2: 'aufc' 'conv' 'appl', instance 0x1b3710 O  
    node 3: 'auou' 'rioc' 'appl', instance 0x1b3b80 O  
    node 4: 'aumx' 'mcmx' 'appl', instance 0x1b5220 O  
    node 5: 'aufx' 'rvb2' 'appl', instance 0x1b6790 O  
  Connections:
    node   4 bus   0 => node   1 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
    node   1 bus   0 => node   5 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
    node   5 bus   0 => node   2 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
    node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
  Input Callbacks:
    {0x1b77d, 0x1b2d10} => node   4 bus   0  [2 ch, 44100 Hz]
    {0x1b77d, 0x1b2d10} => node   4 bus   1  [2 ch, 44100 Hz]
  CurrentState:
    mLastUpdateError=0, eventsToProcess=F, isRunning=F

1 个答案:

答案 0 :(得分:3)

我遇到了与Varispeed节点类似的问题。我有几个varispeed节点连接到多个混合器的几个总线。此多混合器节点已连接到RemoteIO节点。声音没有播放。但后来我在multimixer和remoteIO之间添加了转换器节点(AUConverter)并设置了流格式属性:

result = AudioUnitSetProperty (convertUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &stereoStreamFormat, sizeof (stereoStreamFormat));

stereoStreamFormat - 我的应用程序在所有多混音器总线中使用此格式。

所以我相信问题就是这种格式:

node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]

如果您添加转换器节点并设置它的立体声格式,您应该看到:

node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]