0

次の方法でAudio Queueを作成します

AudioQueueNewOutput(&audioFormat, audioQueueOutputCallback, (__bridge void*)self, NULL, NULL, 0, &mAudioQueue)

フォーマットが続く場所

audioFormat.mFormatID = kAudioFormatAC3;                
audioFormat.mBytesPerPacket = 0;
audioFormat.mFramesPerPacket = mavfContext->streams[audio_index]->codec->frame_size;
audioFormat.mBytesPerFrame = 0;
audioFormat.mChannelsPerFrame = mavfContext->streams[audio_index]->codec->channels;
audioFormat.mBitsPerChannel = 0;

作成は kAudioFormatUnsupportedDataFormatError で失敗します。0であることを確認しましmavfContext->streams[audio_index]->codec->frame_sizeた。ac3 media の mFramesPerPacket の標準値はありますか?

4

1 に答える 1

1

AC3 フレーム サイズは 256 * チャネルである必要があるため、ここでは次のことが期待されます。

mFramesPerPacket = 256 * mChannelsPerFrame.

于 2012-08-15T15:06:34.750 に答える