2011-07-20 13 views
0

オーディオストリームに問題があります(これは6チャンネルのLPCMストリームです)。しかし、AudioQueue経由でiPhone上でこのストリームを再生すると、最初の2つのチャンネルしか聞こえません。ここで 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に設定する必要がありますが、どうすればよいでしょうか?

答えて

0

PCMオーディオストリームをAudio Queue APIに送る前に、自分のコードで6チャンネルを2チャンネルにプリミックスする必要があります。