如何在Amazing Audio Engine中使用AU3DMixer?
  我正在使用(确实!)惊人的音频引擎来播放一些曲目(使用AUFilePlayer ,每个都在单独的AEAudioChannel ),这非常AEAudioChannel 。 
  现在,我想添加3D混音器音频单元kAudioUnitSubType_AU3DMixerEmbedded ,但搜索高低后,我找不到任何有关如何完成这些任务的信息。 
我也对3D混音器的工作原理有了基本的了解,并遵循了我能找到的所有例子,例如Apple的TN2112
以下是我试图将3D混音器添加到频道的方式:
- (BOOL)add3DMixerToTrack:(NSURL*)track {
    NSError *err;
    AudioComponentDescription spatialMixerDescription = AEAudioComponentDescriptionMake(kAudioUnitManufacturer_Apple, kAudioUnitType_Mixer, kAudioUnitSubType_AU3DMixerEmbedded);
    AEAudioUnitFilter *mixer = [[AEAudioUnitFilter alloc]
        initWithComponentDescription:spatialMixerDescription
        audioController:self.audioController
        useDefaultInputFormat:YES
        error:&err];
    AudioUnitSetParameter(mixer.audioUnit, k3DMixerParam_Azimuth,   kAudioUnitScope_Input, 1, 90, 0);
    AudioUnitSetParameter(mixer.audioUnit, k3DMixerParam_Distance,  kAudioUnitScope_Input, 1, 10, 0);
    AEAudioUnitChannel *channel = [self getChannelForTrack:track];
    if(channel) {
        if(![self.audioController.channels containsObject:channel]) {
            [self.audioController addChannels:@[channel]];
        }
        [self.audioController addFilter:mixer toChannel:channel];
        return YES;
    } else {
        return NO;
    }
}
音频播放(所以我认为一切都设置好了)。 但是,这些参数似乎都没有做任何事情。 90°的方位角和10米的距离肯定会导致平移输出。
在摆弄了几个非生产性的小时后,我决定完全转向使用AudioUnit并摆脱惊人的音频引擎(具有良好的副作用,我的整个项目也变得更小,更容易处理)。
  结果并不复杂:在AUGraph连接一对AUGraph非常简单,从AUGraph API的角度来看(不需要渲染缓冲区处理程序等)。 
它基本上与以下一样简单:
AUGraph AUNodes (所有AudioUnits): 这些链接和文档非常有用(按此顺序):
上一篇: How to use an AU3DMixer with The Amazing Audio Engine?
下一篇: Record microphone input with AudioUnit filter applied to the recorded file
