У меня проблема с аудиопотоком (это поток 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, но как?