问题描述
所以我要带音频内容的CMSampleBufferRef缓冲区。
AudioStreamBasicDescription如下
{
mSampleRate: 44100.000000
mFormatID: 'lpcm'
mFormatFlags: 0xe
mBytesPerPacket: 4
mFramesPerPacket: 1
mBytesPerFrame: 4
mChannelsPerFrame: 2
mBitsPerChannel: 16
}
显然,这是一个交错视频,每个通道2个字节=样本大小。 该样本量的编码是什么?那是(短)整数吗?镜架是否由2条短裤组成?还是一个整数?还是一个浮标?我怎么知道的?
我猜是32bpp交错音频,对吗?
解决方法
0xe
的{{1}}的值为mFormatFlags
,等于:
0b1110
因此,一个帧由两个交错的大端kAudioFormatFlagIsBigEndian = (1U << 1),// 0x2
kAudioFormatFlagIsSignedInteger = (1U << 2),// 0x4
kAudioFormatFlagIsPacked = (1U << 3),// 0x8
样本组成。