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