1

構造AudioStreamBasicDescription体:

struct AudioStreamBasicDescription {
    Float64 mSampleRate;
    UInt32  mFormatID;
    UInt32  mFormatFlags;
    UInt32  mBytesPerPacket;
    UInt32  mFramesPerPacket;
    UInt32  mBytesPerFrame;
    UInt32  mChannelsPerFrame;
    UInt32  mBitsPerChannel;
    UInt32  mReserved; 
};

nChannelsPerFrame と mBitsPerChannels がわかっていれば、mBytesPerFrame を次のように計算できます: mBytesPerFrame = mBitsPerChannels * mChannelsPerFrame / 8(間違っていたら訂正してください)

何らかの理由ですべてのフィールドが存在すると思います。mBytesPerFrame とは何ですか?

4

1 に答える 1

2

はい。このフィールドは、LPCMサンプルデータ/フレームのパッキングとアライメントの説明に役立ちます。これは、一部の外部LPCM表現を記述するためにも必須です。

たとえば、20ビットのサンプルサイズを指定できますが、実装では、3バイトまたは24ビット(サンプルあたり4ビットを無視)を使用してそれを表現/転送/保存することをお勧めします。

于 2012-11-16T08:58:56.660 に答える