Audio |
public class AudioFrameHeader
The AudioFrameHeader type exposes the following members.
| Name | Description | |
|---|---|---|
| AudioFrameHeader | construct MP3FrameHeader from 4 supplied bytes |
| Name | Description | |
|---|---|---|
| BitRate | bitrate for this frame 0 for "free", i.e. free format. The free bitrate must remain constant, and must be lower than the maximum allowed bitrate. VBR encoders usually select a different one of the standard bitrates for each frame. | |
| ChannelMode | stereo mode; different for every frame | |
| ChecksumSize | checksum size Protection = 0 - Protected by CRC (16bit crc follows header), 1 - Not protected | |
| Copyright | ||
| CRCs | ||
| DebugString | some text to show we decoded it correctly | |
| Emphasis | emphasis; different for every frame | |
| FrameLengthInBytes | length of this frame in bytes; different for every frame bitrate calculation includes the standard header bytes of normal audio frames already returns null for 'free' bitrate files because parsing the audio coefficients to work out how long it should be is too much work. If you want to know how long the frame is, ask the audio stream, not the header. | |
| HeaderSize | size of standard header NB not all these bytes will have been read in | |
| IdealisedFrameLengthInBytes | 'ideal' length of a frame at this bitrate; returns double, disregards padding. returns null for 'free' bitrate files because parsing the audio coefficients to work out how long it should be is too much work. If you want to know how long the frame should be, ask the audio stream, not the header. | |
| IsFreeBitRate | is it a "free" bitrate file? | |
| IsMono | mono; must be same for every frame | |
| Layer | mpeg layer | |
| Original | ||
| PaddingSize | padding size; different for every frame | |
| Private | ||
| SamplesPerFrame | samples per frame; same for every frame | |
| SamplesPerSecond | samples per second; same for every frame | |
| SecondsPerFrame | seconds per frame; same for every frame e.g. 384 Samples/Frame / 44100 Samples/Second = 8.7mS each | |
| SideInfoSize | channel config block size; different for every frame | |
| Valid | Simple validity check to verify all header fields are in legal ranges | |
| VersionLayer | mpeg version and layer |
| Name | Description | |
|---|---|---|
| _headerBuffer | byte array containing at least 4 bytes of raw frame data |