代码之家  ›  专栏  ›  技术社区  ›  Novellizator

PCM中的音频帧样本类型?

  •  0
  • Novellizator  · 技术社区  · 4 年前

    所以我要用CMSampleBufferRef缓冲区处理音频内容。

    音频流基本描述如下

     {
            mSampleRate: 44100.000000 
            mFormatID: 'lpcm' 
            mFormatFlags: 0xe 
            mBytesPerPacket: 4 
            mFramesPerPacket: 1 
            mBytesPerFrame: 4 
            mChannelsPerFrame: 2 
            mBitsPerChannel: 16     
     } 
    

    显然,这是一个每通道2字节的交错视频=样本大小。 这个样本大小的编码是什么?那是(短)整数吗?一个框架是由两条短裤组成的吗?还是一个整数?还是一个浮子?我怎么知道的?

    我猜是32bpp的交错音频,对吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   sbooth    4 年前

    价值 0xe 对于 mFormatFlags 0b1110 相当于:

    kAudioFormatFlagIsBigEndian                 = (1U << 1),     // 0x2
    kAudioFormatFlagIsSignedInteger             = (1U << 2),     // 0x4
    kAudioFormatFlagIsPacked                    = (1U << 3),     // 0x8
    

    int16_t