AudioQueue выходные каналы - PullRequest
0 голосов
/ 21 июля 2011

У меня проблема с аудиопотоком (это поток LPCM с 6 каналами внутри). Но когда я играю этот поток на iPhone через AudioQueue, я слышу только первые два канала. Вот код инициализации AudioQueue:

- (id)initWithSampleRate:(int)aSampleRate numChannels:(int)aNumChannels
{
     self = [super init];


     AudioStreamBasicDescription theDescription;
     theDescription.mFormatID = kAudioFormatLinearPCM;
     theDescription.mSampleRate = aSampleRate;
     theDescription.mChannelsPerFrame = aNumChannels;
     theDescription.mBytesPerPacket = 2 * aNumChannels;
     theDescription.mFramesPerPacket = 1;
     theDescription.mBytesPerFrame = 2 * aNumChannels;
     theDescription.mBitsPerChannel = 16;
     theDescription.mFormatFlags = kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsSignedInteger;


     AudioQueueNewOutput(&theDescription, audioQueue_callback, self, CFRunLoopGetCurrent(), kCFRunLoopCommonModes, 0, &audioQueue);
     AudioQueueStart(audioQueue, NULL);


     return self;
}

Знаете, как решить эту проблему? Вероятно, я должен установить количество выходных каналов на 2, но как?

1 Ответ

0 голосов
/ 21 июля 2011

Вам может понадобиться предварительно смешать 6 каналов до 2 каналов в своем собственном коде перед подачей аудиопотока PCM в API аудио-очереди.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...