AudioStreamBasicDescription Struct
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Audio packet stream description.
public struct AudioStreamBasicDescription
type AudioStreamBasicDescription = struct
- Inheritance
-
AudioStreamBasicDescription
Remarks
The audio stack processes audio as a stream of audio packets. This data structure is used to describe the contents of these audio packets and contains information like the sample rate used for the audio samples, the format of the individual audio packets, the number of channels in the packets and the bits per channel, and so on.
This structure is filled in with the information when reading or decoding data. When you generate data, you should populate the structure with the proper values.
//
// Standard pattern
//
int channels = 1;
sampleRate = AudioSession.CurrentHardwareSampleRate;
var format = new AudioStreamBasicDescription () {
SampleRate = sampleRate,
Format = AudioFormatType.LinearPCM,
FormatFlags = AudioFormatFlags.LinearPCMIsSignedInteger | AudioFormatFlags.LinearPCMIsPacked,
BitsPerChannel = 16,
ChannelsPerFrame = channels
BytesPerFrame = 2 * (interleaved ? channels : 1),
BytesPerPacket = 2,
FramesPerPacket = 1,
};
//
// Convenience Function for LinearPCM configurations
//
var format2 = AudioStreamBasicDescription.CreateLinearPCM (sampleRate, channelsperFrame, bitsPerChannel, bigEndian);
Constructors
AudioStreamBasicDescription(AudioFormatType) |
Initializes the AudioStreamBasicDescription with the specified format type. |
Fields
AudioFormatFlagsAudioUnitCanonical |
Developers should not use this deprecated field. Canonical is no longer encouraged, since fixed-point no longer provides a performance advantage over floating point. 'AudioFormatFlagsNativeFloatPacked' is preffered instead. |
AudioFormatFlagsAudioUnitNativeFloat | |
AudioFormatFlagsNativeFloat | |
AudioStreamAnyRate |
Flag used to indicate that the audio stream can use any rate (can be assigned to the SampleRate field) |
BitsPerChannel |
Number of bits for an audio sample, per channel; Use zero for compressed formats. |
BytesPerFrame |
Number of bytes in an audio frame; Use Zero for compressed formats. |
BytesPerPacket | |
ChannelsPerFrame |
Number of audio channels. |
Format |
Audio format type. |
FormatFlags |
Audio format specific flags. |
FramesPerPacket |
Number of frames per audio packet. |
Reserved |
Unused, must be zero. |
SampleRate |
The sample rate for the audio data. |
Properties
FormatName | |
IsEncrypted | |
IsExternallyFramed | |
IsVariableBitrate |
Methods
CreateLinearPCM(Double, UInt32, UInt32, Boolean) |
Convenience function to create an AudioStreamBasicDescription for LinearPCM data.. |
GetAvailableEncodeChannelLayoutTags(AudioStreamBasicDescription) | |
GetAvailableEncodeNumberChannels(AudioStreamBasicDescription) | |
GetFormatInfo(AudioStreamBasicDescription) | |
GetFormatList(Byte[]) | |
GetOutputFormatList(Byte[]) | |
ToString() |
Renders a debugging-friendly description of the contents of the AudioStreamBasicDescription. |