AC3音频FramesPerPacket大小

时间:2012-07-28 20:19:23

标签: objective-c ios audioqueueservices audioqueue

我按照以下方式创建音频队列

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创建失败。 我检查过mavfContext->streams[audio_index]->codec->frame_size是0。 那么ac3媒体的mFramesPerPacket有什么标准值吗?

1 个答案:

答案 0 :(得分:1)

AC3帧大小应该是256 *通道,因此我希望在这里:

mFramesPerPacket = 256 * mChannelsPerFrame