iOS音频单元,将每个立体声通道从立体声源输出到3D混音器

iOS音频单元,将每个立体声通道从立体声源输出到3D混音器,ios,objective-c,audio,Ios,Objective C,Audio,《苹果3D混音器音频单元指南》指出: 要使用立体声源,您可以将其左声道和右声道视为两个独立的单声道源,然后将立体声流的每一侧馈送到其自己的输入总线 但是,我不知道如何将立体声音频单元的每个通道发送到3D混音器中。你是如何做到这一点的?基本上,你需要做以下事情 @interface AudioEngine () { AVAudioEngine *_engine; AVAudioEnvironmentNode *

《苹果3D混音器音频单元指南》指出:

要使用立体声源,您可以将其左声道和右声道视为两个独立的单声道源,然后将立体声流的每一侧馈送到其自己的输入总线


但是,我不知道如何将立体声音频单元的每个通道发送到3D混音器中。你是如何做到这一点的?

基本上,你需要做以下事情

@interface AudioEngine () {
    AVAudioEngine                       *_engine;
    AVAudioEnvironmentNode              *_environment;
    AVAudioPCMBuffer                    *_ouputBuffer;
    NSMutableArray <AVAudioPlayerNode*> *_PlayerArray;
    AVAudioPlayerNode                   *_soundPlayer;
    AVAudioPCMBuffer                    *_soundBuffer;
    bool                                _multichannelOutputEnabled
outputLayoutTag = kAudioChannelLayoutTag_AudioUnit_2;
_multichannelOutputEnabled = true;
此'\u MultichannelOutpuEnabled=true;'通常设置为false

然后设置算法以对通道执行某些操作

AVAudio3DMixingRenderingAlgorithm renderingTHIS = _multichannelOutputEnabled ? 
AVAudio3DMixingRenderingAlgorithmSoundField : AVAudio3DMixingRenderingAlgorithmEqualPowerPanning;
        newPlayer.renderingAlgorithm = renderingTHIS;
在视图控制器的某个地方,您可能会将类似的东西绑定到游戏中的某个对象上

[self.epicAudioEngine.updateListenerOrientation:AVAudioMake3DAngularOrientation([ang.x,ang.y,ang.z])

[self updateEulerAnglesAndListenerFromDeltaX:dX DeltaY:dY]

查看libavformat、libavutil的ffmpeg源代码,了解如何处理音频

我看不出这个回答如何回答这个问题。OP询问如何拆分立体声总线。另外,
kAudioChannelLayoutTag\u AudioUnit\u 2
不存在。您是否设法解决了此问题?