AudioFormat
  public
  
  final
  
  class
  AudioFormat
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.media.AudioFormat | 
The AudioFormat class is used to access a number of audio format and
 channel configuration constants. They are for instance used
 in AudioTrack and AudioRecord, as valid values in individual parameters of
 constructors like AudioTrack.AudioTrack(int, int, int, int, int, int), where the fourth
 parameter is one of the AudioFormat.ENCODING_* constants.
 The AudioFormat constants are also used in MediaFormat to specify
 audio related values commonly used in media, such as for MediaFormat.KEY_CHANNEL_MASK.
 
The AudioFormat.Builder class can be used to create instances of
 the AudioFormat format class.
 Refer to
 AudioFormat.Builder for documentation on the mechanics of the configuration and building
 of such instances. Here we describe the main concepts that the AudioFormat class
 allow you to convey in each instance, they are:
 
Closely associated with the AudioFormat is the notion of an
 audio frame, which is used throughout the documentation
 to represent the minimum size complete unit of audio data.
 
Sample rate
Expressed in Hz, the sample rate in an AudioFormat instance expresses the number
 of audio samples for each channel per second in the content you are playing or recording. It is
 not the sample rate
 at which content is rendered or produced. For instance a sound at a media sample rate of 8000Hz
 can be played on a device operating at a sample rate of 48000Hz; the sample rate conversion is
 automatically handled by the platform, it will not play at 6x speed.
 
As of API Build.VERSION_CODES.M,
 sample rates up to 192kHz are supported
 for AudioRecord and AudioTrack, with sample rate conversion
 performed as needed.
 To improve efficiency and avoid lossy conversions, it is recommended to match the sample rate
 for AudioRecord and AudioTrack to the endpoint device
 sample rate, and limit the sample rate to no more than 48kHz unless there are special
 device capabilities that warrant a higher rate.
 
Encoding
Audio encoding is used to describe the bit representation of audio data, which can be either linear PCM or compressed audio, such as AC3 or DTS.
For linear PCM, the audio encoding describes the sample size, 8 bits, 16 bits, or 32 bits, and the sample representation, integer or float.
-  ENCODING_PCM_8BIT: The audio sample is a 8 bit unsigned integer in the range [0, 255], with a 128 offset for zero. This is typically stored as a Java byte in a byte array or ByteBuffer. Since the Java byte is signed, be careful with math operations and conversions as the most significant bit is inverted.
-  ENCODING_PCM_16BIT: The audio sample is a 16 bit signed integer typically stored as a Java short in a short array, but when the short is stored in a ByteBuffer, it is native endian (as compared to the default Java big endian). The short has full range from [-32768, 32767], and is sometimes interpreted as fixed point Q.15 data.
-  ENCODING_PCM_FLOAT: Introduced in APIBuild.VERSION_CODES.LOLLIPOP, this encoding specifies that the audio sample is a 32 bit IEEE single precision float. The sample can be manipulated as a Java float in a float array, though within a ByteBuffer it is stored in native endian byte order. The nominal range ofENCODING_PCM_FLOATaudio data is [-1.0, 1.0]. It is implementation dependent whether the positive maximum of 1.0 is included in the interval. Values outside of the nominal range are clamped before sending to the endpoint device. Beware that the handling of NaN is undefined; subnormals may be treated as zero; and infinities are generally clamped just like other values forAudioTrack– try to avoid infinities because they can easily generate a NaN.
 To achieve higher audio bit depth than a signed 16 bit integer short, it is recommended to useENCODING_PCM_FLOATfor audio capture, processing, and playback. Floats are efficiently manipulated by modern CPUs, have greater precision than 24 bit signed integers, and have greater dynamic range than 32 bit signed integers.AudioRecordas of APIBuild.VERSION_CODES.MandAudioTrackas of APIBuild.VERSION_CODES.LOLLIPOPsupportENCODING_PCM_FLOAT.
-  ENCODING_PCM_24BIT_PACKED: Introduced in APIBuild.VERSION_CODES.S, this encoding specifies the audio sample is an extended precision 24 bit signed integer stored as a 3 Java bytes in aByteBufferor byte array in native endian (seeByteOrder.nativeOrder()). Each sample has full range from [-8388608, 8388607], and can be interpreted as fixed point Q.23 data.
-  ENCODING_PCM_32BIT: Introduced in APIBuild.VERSION_CODES.S, this encoding specifies the audio sample is an extended precision 32 bit signed integer stored as a 4 Java bytes in aByteBufferor byte array in native endian (seeByteOrder.nativeOrder()). Each sample has full range from [-2147483648, 2147483647], and can be interpreted as fixed point Q.31 data.
For compressed audio, the encoding specifies the method of compression,
 for example ENCODING_AC3 and ENCODING_DTS. The compressed
 audio data is typically stored as bytes in
 a byte array or ByteBuffer. When a compressed audio encoding is specified
 for an AudioTrack, it creates a direct (non-mixed) track
 for output to an endpoint (such as HDMI) capable of decoding the compressed audio.
 For (most) other endpoints, which are not capable of decoding such compressed audio,
 you will need to decode the data first, typically by creating a MediaCodec.
 Alternatively, one may use MediaPlayer for playback of compressed
 audio files or streams.
 
When compressed audio is sent out through a direct AudioTrack,
 it need not be written in exact multiples of the audio access unit;
 this differs from MediaCodec input buffers.
 
Channel mask
Channel masks are used in AudioTrack and AudioRecord to describe
 the samples and their arrangement in the audio frame. They are also used in the endpoint (e.g.
 a USB audio interface, a DAC connected to headphones) to specify allowable configurations of a
 particular device.
 
As of API Build.VERSION_CODES.M, there are two types of channel masks:
 channel position masks and channel index masks.
 
Channel position masks
Channel position masks are the original Android channel masks, and are used since APIBuild.VERSION_CODES.BASE.
 For input and output, they imply a positional nature - the location of a speaker or a microphone
 for recording or playback.
 For a channel position mask, each allowed channel position corresponds to a bit in the channel mask. If that channel position is present in the audio frame, that bit is set, otherwise it is zero. The order of the bits (from lsb to msb) corresponds to the order of that position's sample in the audio frame.
The canonical channel position masks by channel count are as follows:
| channel count | channel position mask | 
| 1 | CHANNEL_OUT_MONO | 
| 2 | CHANNEL_OUT_STEREO | 
| 3 | CHANNEL_OUT_STEREO|CHANNEL_OUT_FRONT_CENTER | 
| 4 | CHANNEL_OUT_QUAD | 
| 5 | CHANNEL_OUT_QUAD|CHANNEL_OUT_FRONT_CENTER | 
| 6 | CHANNEL_OUT_5POINT1 | 
| 7 | CHANNEL_OUT_5POINT1|CHANNEL_OUT_BACK_CENTER | 
| 8 | CHANNEL_OUT_7POINT1_SURROUND | 
These masks are an ORed composite of individual channel masks. For example
CHANNEL_OUT_STEREO is composed of CHANNEL_OUT_FRONT_LEFT and
 CHANNEL_OUT_FRONT_RIGHT.
 The following diagram represents the layout of the output channels, as seen from above the listener (in the center at the "lis" position, facing the front-center channel).
       TFL ----- TFC ----- TFR     T is Top
       |  \       |       /  |
       |   FL --- FC --- FR  |     F is Front
       |   |\     |     /|   |
       |   | BFL-BFC-BFR |   |     BF is Bottom Front
       |   |             |   |
       |   FWL   lis   FWR   |     W is Wide
       |   |             |   |
      TSL  SL    TC     SR  TSR    S is Side
       |   |             |   |
       |   BL --- BC -- BR   |     B is Back
       |  /               \  |
       TBL ----- TBC ----- TBR     C is Center, L/R is Left/Right
 Channel index masks
Channel index masks are introduced in APIBuild.VERSION_CODES.M. They allow
 the selection of a particular channel from the source or sink endpoint by number, i.e. the first
 channel, the second channel, and so forth. This avoids problems with artificially assigning
 positions to channels of an endpoint, or figuring what the ith position bit is within
 an endpoint's channel position mask etc.
 Here's an example where channel index masks address this confusion: dealing with a 4 channel USB device. Using a position mask, and based on the channel count, this would be a
CHANNEL_OUT_QUAD device, but really one is only interested in channel 0
 through channel 3. The USB device would then have the following individual bit channel masks:
 CHANNEL_OUT_FRONT_LEFT,
 CHANNEL_OUT_FRONT_RIGHT, CHANNEL_OUT_BACK_LEFT
 and CHANNEL_OUT_BACK_RIGHT. But which is channel 0 and which is
 channel 3?
 For a channel index mask, each channel number is represented as a bit in the mask, from the lsb (channel 0) upwards to the msb, numerically this bit value is
1 << channelNumber.
 A set bit indicates that channel is present in the audio frame, otherwise it is cleared.
 The order of the bits also correspond to that channel number's sample order in the audio frame.
 For the previous 4 channel USB device example, the device would have a channel index mask
0xF. Suppose we wanted to select only the first and the third channels; this would
 correspond to a channel index mask 0x5 (the first and third bits set). If an
 AudioTrack uses this channel index mask, the audio frame would consist of two
 samples, the first sample of each frame routed to channel 0, and the second sample of each frame
 routed to channel 2.
 The canonical channel index masks by channel count are given by the formula
 (1 << channelCount) - 1.
 Use cases
- Channel position mask for an endpoint: CHANNEL_OUT_FRONT_LEFT,CHANNEL_OUT_FRONT_CENTER, etc. for HDMI home theater purposes.
- Channel position mask for an audio stream: Creating an AudioTrackto output movie content, where 5.1 multichannel output is to be written.
- Channel index mask for an endpoint: USB devices for which input and output do not correspond to left or right speaker or microphone.
- Channel index mask for an audio stream: An AudioRecordmay only want the third and fourth audio channels of the endpoint (i.e. the second channel pair), and not care the about position it corresponds to, in which case the channel index mask is0xC. MultichannelAudioRecordsessions should use channel index masks.
Audio Frame
For linear PCM, an audio frame consists of a set of samples captured at the same time,
 whose count and
 channel association are given by the channel mask,
 and whose sample contents are specified by the encoding.
 For example, a stereo 16 bit PCM frame consists of
 two 16 bit linear PCM samples, with a frame size of 4 bytes.
 For compressed audio, an audio frame may alternately
 refer to an access unit of compressed data bytes that is logically grouped together for
 decoding and bitstream access (e.g. MediaCodec),
 or a single byte of compressed data (e.g. AudioTrack.getBufferSizeInFrames()),
 or the linear PCM frame result from decoding the compressed data
 (e.g.AudioTrack.getPlaybackHeadPosition()),
 depending on the context where audio frame is used.
 For the purposes of AudioFormat.getFrameSizeInBytes(), a compressed data format
 returns a frame size of 1 byte.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | AudioFormat.BuilderBuilder class for  | 
| Constants | |
|---|---|
| int | CHANNEL_CONFIGURATION_DEFAULT
      This constant was deprecated
      in API level 15.
    Use  | 
| int | CHANNEL_CONFIGURATION_INVALID
      This constant was deprecated
      in API level 15.
    Use  | 
| int | CHANNEL_CONFIGURATION_MONO
      This constant was deprecated
      in API level 15.
    Use  | 
| int | CHANNEL_CONFIGURATION_STEREO
      This constant was deprecated
      in API level 15.
    Use  | 
| int | CHANNEL_INVALIDInvalid audio channel mask | 
| int | CHANNEL_IN_BACK
 | 
| int | CHANNEL_IN_BACK_PROCESSED
 | 
| int | CHANNEL_IN_DEFAULT
 | 
| int | CHANNEL_IN_FRONT
 | 
| int | CHANNEL_IN_FRONT_PROCESSED
 | 
| int | CHANNEL_IN_LEFT
 | 
| int | CHANNEL_IN_LEFT_PROCESSED
 | 
| int | CHANNEL_IN_MONO
 | 
| int | CHANNEL_IN_PRESSURE
 | 
| int | CHANNEL_IN_RIGHT
 | 
| int | CHANNEL_IN_RIGHT_PROCESSED
 | 
| int | CHANNEL_IN_STEREO
 | 
| int | CHANNEL_IN_VOICE_DNLINK
 | 
| int | CHANNEL_IN_VOICE_UPLINK
 | 
| int | CHANNEL_IN_X_AXIS
 | 
| int | CHANNEL_IN_Y_AXIS
 | 
| int | CHANNEL_IN_Z_AXIS
 | 
| int | CHANNEL_OUT_5POINT1Output channel mask for 5.1 | 
| int | CHANNEL_OUT_5POINT1POINT2Output channel mask for 5.1.2 Same as 5.1 with the addition of left and right top channels | 
| int | CHANNEL_OUT_5POINT1POINT4Output channel mask for 5.1.4 Same as 5.1 with the addition of four top channels | 
| int | CHANNEL_OUT_6POINT1Output channel mask for 6.1 Same as 5.1 with the addition of the back center channel | 
| int | CHANNEL_OUT_7POINT1
      This constant was deprecated
      in API level 23.
    Not the typical 7.1 surround configuration. Use  | 
| int | CHANNEL_OUT_7POINT1POINT2Output channel mask for 7.1.2 Same as 7.1 with the addition of left and right top channels | 
| int | CHANNEL_OUT_7POINT1POINT4Output channel mask for 7.1.4 Same as 7.1 with the addition of four top channels | 
| int | CHANNEL_OUT_7POINT1_SURROUNDOutput channel mask for 7.1 | 
| int | CHANNEL_OUT_9POINT1POINT4Output channel mask for 9.1.4 Same as 7.1.4 with the addition of left and right front wide channels | 
| int | CHANNEL_OUT_9POINT1POINT6Output channel mask for 9.1.6 Same as 9.1.4 with the addition of left and right top side channels | 
| int | CHANNEL_OUT_BACK_CENTERBack center output channel (see BC in channel diagram) | 
| int | CHANNEL_OUT_BACK_LEFTBack left output channel (see BL in channel diagram) | 
| int | CHANNEL_OUT_BACK_RIGHTBack right output channel (see BR in channel diagram) | 
| int | CHANNEL_OUT_BOTTOM_FRONT_CENTERBottom front center output channel (see BFC in channel diagram below FC) | 
| int | CHANNEL_OUT_BOTTOM_FRONT_LEFTBottom front left output channel (see BFL in channel diagram below FL) | 
| int | CHANNEL_OUT_BOTTOM_FRONT_RIGHTBottom front right output channel (see BFR in channel diagram below FR) | 
| int | CHANNEL_OUT_DEFAULTDefault audio channel mask | 
| int | CHANNEL_OUT_FRONT_CENTERFront center output channel (see FC in channel diagram) | 
| int | CHANNEL_OUT_FRONT_LEFTFront left output channel (see FL in channel diagram) | 
| int | CHANNEL_OUT_FRONT_LEFT_OF_CENTER
 | 
| int | CHANNEL_OUT_FRONT_RIGHTFront right output channel (see FR in channel diagram) | 
| int | CHANNEL_OUT_FRONT_RIGHT_OF_CENTER
 | 
| int | CHANNEL_OUT_FRONT_WIDE_LEFTFront wide left output channel (see FWL in channel diagram) | 
| int | CHANNEL_OUT_FRONT_WIDE_RIGHTFront wide right output channel (see FWR in channel diagram) | 
| int | CHANNEL_OUT_LOW_FREQUENCYLFE "low frequency effect" channel
 When used in conjunction with  | 
| int | CHANNEL_OUT_LOW_FREQUENCY_2The second LFE channel
 When used in conjunction with  | 
| int | CHANNEL_OUT_MONO
 | 
| int | CHANNEL_OUT_QUAD
 | 
| int | CHANNEL_OUT_SIDE_LEFTSide left output channel (see SL in channel diagram) | 
| int | CHANNEL_OUT_SIDE_RIGHTSide right output channel (see SR in channel diagram) | 
| int | CHANNEL_OUT_STEREO
 | 
| int | CHANNEL_OUT_SURROUND
 | 
| int | CHANNEL_OUT_TOP_BACK_CENTERTop back center output channel (see TBC in channel diagram above BC) | 
| int | CHANNEL_OUT_TOP_BACK_LEFTTop back left output channel (see TBL in channel diagram above BL) | 
| int | CHANNEL_OUT_TOP_BACK_RIGHTTop back right output channel (see TBR in channel diagram above BR) | 
| int | CHANNEL_OUT_TOP_CENTERTop center (above listener) output channel (see TC in channel diagram) | 
| int | CHANNEL_OUT_TOP_FRONT_CENTERTop front center output channel (see TFC in channel diagram above FC) | 
| int | CHANNEL_OUT_TOP_FRONT_LEFTTop front left output channel (see TFL in channel diagram above FL) | 
| int | CHANNEL_OUT_TOP_FRONT_RIGHTTop front right output channel (see TFR in channel diagram above FR) | 
| int | CHANNEL_OUT_TOP_SIDE_LEFTTop side left output channel (see TSL in channel diagram above SL) | 
| int | CHANNEL_OUT_TOP_SIDE_RIGHTTop side right output channel (see TSR in channel diagram above SR) | 
| int | ENCODING_AAC_ELDAudio data format: AAC ELD compressed | 
| int | ENCODING_AAC_HE_V1Audio data format: AAC HE V1 compressed | 
| int | ENCODING_AAC_HE_V2Audio data format: AAC HE V2 compressed | 
| int | ENCODING_AAC_LCAudio data format: AAC LC compressed | 
| int | ENCODING_AAC_XHEAudio data format: AAC xHE compressed | 
| int | ENCODING_AC3Audio data format: AC-3 compressed, also known as Dolby Digital | 
| int | ENCODING_AC4Audio data format: AC-4 (levels 0-3) sync frame transport format | 
| int | ENCODING_DEFAULTDefault audio data format | 
| int | ENCODING_DOLBY_MATAudio data format: Dolby MAT (Metadata-enhanced Audio Transmission) Dolby MAT bitstreams are used to transmit Dolby TrueHD, channel-based PCM, or PCM with metadata (object audio) over HDMI (e.g. Dolby Atmos content). | 
| int | ENCODING_DOLBY_TRUEHDAudio data format: DOLBY TRUEHD compressed | 
| int | ENCODING_DRAAudio data format: DRA compressed | 
| int | ENCODING_DSDAudio data format: Direct Stream Digital | 
| int | ENCODING_DTSAudio data format: DTS compressed | 
| int | ENCODING_DTS_HDAudio data format: DTS HD compressed | 
| int | ENCODING_DTS_HD_MAAudio data format: DTS HD Master Audio compressed DTS HD Master Audio stream is variable bit rate and contains lossless audio. | 
| int | ENCODING_DTS_UHD
      This constant was deprecated
      in API level 34.
    Use  | 
| int | ENCODING_DTS_UHD_P1Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1)
 Has the same meaning and value as the deprecated  | 
| int | ENCODING_DTS_UHD_P2Audio data format: DTS UHD Profile-2 compressed DTS-UHD Profile-2 supports delivery of Channel-Based Audio, Object-Based Audio and High Order Ambisonic presentations up to the fourth order. | 
| int | ENCODING_E_AC3Audio data format: E-AC-3 compressed, also known as Dolby Digital Plus or DD+ | 
| int | ENCODING_E_AC3_JOCAudio data format: E-AC-3-JOC compressed
 E-AC-3-JOC streams can be decoded by downstream devices supporting  | 
| int | ENCODING_IAMF_BASE_ENHANCED_PROFILE_AACAudio data format: IAMF using the base-enhanced profile with audio streams encoded in AAC. | 
| int | ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLACAudio data format: IAMF using the base-enhanced profile with audio streams encoded in FLAC. | 
| int | ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUSAudio data format: IAMF using the base-enhanced profile with audio streams encoded in OPUS. | 
| int | ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCMAudio data format: IAMF using the base-enhanced profile with audio streams encoded in PCM. | 
| int | ENCODING_IAMF_BASE_PROFILE_AACAudio data format: IAMF using the base profile with audio streams encoded in AAC. | 
| int | ENCODING_IAMF_BASE_PROFILE_FLACAudio data format: IAMF using the base profile with audio streams encoded in FLAC. | 
| int | ENCODING_IAMF_BASE_PROFILE_OPUSAudio data format: IAMF using the base profile with audio streams encoded in OPUS. | 
| int | ENCODING_IAMF_BASE_PROFILE_PCMAudio data format: IAMF using the base profile with audio streams encoded in PCM. | 
| int | ENCODING_IAMF_SIMPLE_PROFILE_AACAudio data format: IAMF using the simple profile with audio streams encoded in AAC. | 
| int | ENCODING_IAMF_SIMPLE_PROFILE_FLACAudio data format: IAMF using the simple profile with audio streams encoded in FLAC. | 
| int | ENCODING_IAMF_SIMPLE_PROFILE_OPUSAudio data format: IAMF using the simple profile with audio streams encoded in OPUS. | 
| int | ENCODING_IAMF_SIMPLE_PROFILE_PCMAudio data format: IAMF using the simple profile with audio streams encoded in PCM. | 
| int | ENCODING_IEC61937Audio data format: compressed audio wrapped in PCM for HDMI or S/PDIF passthrough. | 
| int | ENCODING_INVALIDInvalid audio data format | 
| int | ENCODING_MP3Audio data format: MP3 compressed | 
| int | ENCODING_MPEGH_BL_L3Audio data format: MPEG-H baseline profile, level 3 | 
| int | ENCODING_MPEGH_BL_L4Audio data format: MPEG-H baseline profile, level 4 | 
| int | ENCODING_MPEGH_LC_L3Audio data format: MPEG-H low complexity profile, level 3 | 
| int | ENCODING_MPEGH_LC_L4Audio data format: MPEG-H low complexity profile, level 4 | 
| int | ENCODING_OPUSAudio data format: OPUS compressed. | 
| int | ENCODING_PCM_16BITAudio data format: PCM 16 bit per sample. | 
| int | ENCODING_PCM_24BIT_PACKEDAudio data format: PCM 24 bit per sample packed as 3 bytes. | 
| int | ENCODING_PCM_32BITAudio data format: PCM 32 bit per sample. | 
| int | ENCODING_PCM_8BITAudio data format: PCM 8 bit per sample. | 
| int | ENCODING_PCM_FLOATAudio data format: single-precision floating-point per sample | 
| int | SAMPLE_RATE_UNSPECIFIEDSample rate will be a route-dependent value. | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<AudioFormat> | CREATOR
 | 
| Public methods | |
|---|---|
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        boolean | 
      equals(Object o)
      Indicates whether some other object is "equal to" this one. | 
| 
        
        
        
        
        
        int | 
      getChannelCount()
      Return the channel count. | 
| 
        
        
        
        
        
        int | 
      getChannelIndexMask()
      Return the channel index mask. | 
| 
        
        
        
        
        
        int | 
      getChannelMask()
      Return the channel mask. | 
| 
        
        
        
        
        
        int | 
      getEncoding()
      Return the encoding. | 
| 
        
        
        
        
        
        int | 
      getFrameSizeInBytes()
      Return the frame size in bytes. | 
| 
        
        
        
        
        
        int | 
      getSampleRate()
      Return the sample rate. | 
| 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object. | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object. | 
| 
        
        
        
        
        
        void | 
      writeToParcel(Parcel dest, int flags)
      Flatten this object in to a Parcel. | 
| Inherited methods | |
|---|---|
Constants
CHANNEL_CONFIGURATION_DEFAULT
public static final int CHANNEL_CONFIGURATION_DEFAULT
      This constant was deprecated
      in API level 15.
    Use CHANNEL_OUT_DEFAULT or CHANNEL_IN_DEFAULT instead.
  
Constant Value: 1 (0x00000001)
CHANNEL_CONFIGURATION_INVALID
public static final int CHANNEL_CONFIGURATION_INVALID
      This constant was deprecated
      in API level 15.
    Use CHANNEL_INVALID instead.
  
Constant Value: 0 (0x00000000)
CHANNEL_CONFIGURATION_MONO
public static final int CHANNEL_CONFIGURATION_MONO
      This constant was deprecated
      in API level 15.
    Use CHANNEL_OUT_MONO or CHANNEL_IN_MONO instead.
  
Constant Value: 2 (0x00000002)
CHANNEL_CONFIGURATION_STEREO
public static final int CHANNEL_CONFIGURATION_STEREO
      This constant was deprecated
      in API level 15.
    Use CHANNEL_OUT_STEREO or CHANNEL_IN_STEREO instead.
  
Constant Value: 3 (0x00000003)
CHANNEL_INVALID
public static final int CHANNEL_INVALID
Invalid audio channel mask
Constant Value: 0 (0x00000000)
CHANNEL_IN_BACK
public static final int CHANNEL_IN_BACK
Constant Value: 32 (0x00000020)
CHANNEL_IN_BACK_PROCESSED
public static final int CHANNEL_IN_BACK_PROCESSED
Constant Value: 512 (0x00000200)
CHANNEL_IN_DEFAULT
public static final int CHANNEL_IN_DEFAULT
Constant Value: 1 (0x00000001)
CHANNEL_IN_FRONT
public static final int CHANNEL_IN_FRONT
Constant Value: 16 (0x00000010)
CHANNEL_IN_FRONT_PROCESSED
public static final int CHANNEL_IN_FRONT_PROCESSED
Constant Value: 256 (0x00000100)
CHANNEL_IN_LEFT
public static final int CHANNEL_IN_LEFT
Constant Value: 4 (0x00000004)
CHANNEL_IN_LEFT_PROCESSED
public static final int CHANNEL_IN_LEFT_PROCESSED
Constant Value: 64 (0x00000040)
CHANNEL_IN_MONO
public static final int CHANNEL_IN_MONO
Constant Value: 16 (0x00000010)
CHANNEL_IN_PRESSURE
public static final int CHANNEL_IN_PRESSURE
Constant Value: 1024 (0x00000400)
CHANNEL_IN_RIGHT
public static final int CHANNEL_IN_RIGHT
Constant Value: 8 (0x00000008)
CHANNEL_IN_RIGHT_PROCESSED
public static final int CHANNEL_IN_RIGHT_PROCESSED
Constant Value: 128 (0x00000080)
CHANNEL_IN_STEREO
public static final int CHANNEL_IN_STEREO
Constant Value: 12 (0x0000000c)
CHANNEL_IN_VOICE_DNLINK
public static final int CHANNEL_IN_VOICE_DNLINK
Constant Value: 32768 (0x00008000)
CHANNEL_IN_VOICE_UPLINK
public static final int CHANNEL_IN_VOICE_UPLINK
Constant Value: 16384 (0x00004000)
CHANNEL_IN_X_AXIS
public static final int CHANNEL_IN_X_AXIS
Constant Value: 2048 (0x00000800)
CHANNEL_IN_Y_AXIS
public static final int CHANNEL_IN_Y_AXIS
Constant Value: 4096 (0x00001000)
CHANNEL_IN_Z_AXIS
public static final int CHANNEL_IN_Z_AXIS
Constant Value: 8192 (0x00002000)
CHANNEL_OUT_5POINT1
public static final int CHANNEL_OUT_5POINT1
Output channel mask for 5.1
Constant Value: 252 (0x000000fc)
CHANNEL_OUT_5POINT1POINT2
public static final int CHANNEL_OUT_5POINT1POINT2
Output channel mask for 5.1.2 Same as 5.1 with the addition of left and right top channels
Constant Value: 3145980 (0x003000fc)
CHANNEL_OUT_5POINT1POINT4
public static final int CHANNEL_OUT_5POINT1POINT4
Output channel mask for 5.1.4 Same as 5.1 with the addition of four top channels
Constant Value: 737532 (0x000b40fc)
CHANNEL_OUT_6POINT1
public static final int CHANNEL_OUT_6POINT1
Output channel mask for 6.1 Same as 5.1 with the addition of the back center channel
Constant Value: 1276 (0x000004fc)
CHANNEL_OUT_7POINT1
public static final int CHANNEL_OUT_7POINT1
      This constant was deprecated
      in API level 23.
    Not the typical 7.1 surround configuration. Use CHANNEL_OUT_7POINT1_SURROUND instead.
  
Constant Value: 1020 (0x000003fc)
CHANNEL_OUT_7POINT1POINT2
public static final int CHANNEL_OUT_7POINT1POINT2
Output channel mask for 7.1.2 Same as 7.1 with the addition of left and right top channels
Constant Value: 3152124 (0x003018fc)
CHANNEL_OUT_7POINT1POINT4
public static final int CHANNEL_OUT_7POINT1POINT4
Output channel mask for 7.1.4 Same as 7.1 with the addition of four top channels
Constant Value: 743676 (0x000b58fc)
CHANNEL_OUT_7POINT1_SURROUND
public static final int CHANNEL_OUT_7POINT1_SURROUND
Output channel mask for 7.1
Constant Value: 6396 (0x000018fc)
CHANNEL_OUT_9POINT1POINT4
public static final int CHANNEL_OUT_9POINT1POINT4
Output channel mask for 9.1.4 Same as 7.1.4 with the addition of left and right front wide channels
Constant Value: 202070268 (0x0c0b58fc)
CHANNEL_OUT_9POINT1POINT6
public static final int CHANNEL_OUT_9POINT1POINT6
Output channel mask for 9.1.6 Same as 9.1.4 with the addition of left and right top side channels
Constant Value: 205215996 (0x0c3b58fc)
CHANNEL_OUT_BACK_CENTER
public static final int CHANNEL_OUT_BACK_CENTER
Back center output channel (see BC in channel diagram)
Constant Value: 1024 (0x00000400)
CHANNEL_OUT_BACK_LEFT
public static final int CHANNEL_OUT_BACK_LEFT
Back left output channel (see BL in channel diagram)
Constant Value: 64 (0x00000040)
CHANNEL_OUT_BACK_RIGHT
public static final int CHANNEL_OUT_BACK_RIGHT
Back right output channel (see BR in channel diagram)
Constant Value: 128 (0x00000080)
CHANNEL_OUT_BOTTOM_FRONT_CENTER
public static final int CHANNEL_OUT_BOTTOM_FRONT_CENTER
Bottom front center output channel (see BFC in channel diagram below FC)
Constant Value: 8388608 (0x00800000)
CHANNEL_OUT_BOTTOM_FRONT_LEFT
public static final int CHANNEL_OUT_BOTTOM_FRONT_LEFT
Bottom front left output channel (see BFL in channel diagram below FL)
Constant Value: 4194304 (0x00400000)
CHANNEL_OUT_BOTTOM_FRONT_RIGHT
public static final int CHANNEL_OUT_BOTTOM_FRONT_RIGHT
Bottom front right output channel (see BFR in channel diagram below FR)
Constant Value: 16777216 (0x01000000)
CHANNEL_OUT_DEFAULT
public static final int CHANNEL_OUT_DEFAULT
Default audio channel mask
Constant Value: 1 (0x00000001)
CHANNEL_OUT_FRONT_CENTER
public static final int CHANNEL_OUT_FRONT_CENTER
Front center output channel (see FC in channel diagram)
Constant Value: 16 (0x00000010)
CHANNEL_OUT_FRONT_LEFT
public static final int CHANNEL_OUT_FRONT_LEFT
Front left output channel (see FL in channel diagram)
Constant Value: 4 (0x00000004)
CHANNEL_OUT_FRONT_LEFT_OF_CENTER
public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER
Constant Value: 256 (0x00000100)
CHANNEL_OUT_FRONT_RIGHT
public static final int CHANNEL_OUT_FRONT_RIGHT
Front right output channel (see FR in channel diagram)
Constant Value: 8 (0x00000008)
CHANNEL_OUT_FRONT_RIGHT_OF_CENTER
public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER
Constant Value: 512 (0x00000200)
CHANNEL_OUT_FRONT_WIDE_LEFT
public static final int CHANNEL_OUT_FRONT_WIDE_LEFT
Front wide left output channel (see FWL in channel diagram)
Constant Value: 67108864 (0x04000000)
CHANNEL_OUT_FRONT_WIDE_RIGHT
public static final int CHANNEL_OUT_FRONT_WIDE_RIGHT
Front wide right output channel (see FWR in channel diagram)
Constant Value: 134217728 (0x08000000)
CHANNEL_OUT_LOW_FREQUENCY
public static final int CHANNEL_OUT_LOW_FREQUENCY
LFE "low frequency effect" channel
 When used in conjunction with CHANNEL_OUT_LOW_FREQUENCY_2, it is intended
 to contain the left low-frequency effect signal, also referred to as "LFE1"
 in ITU-R BS.2159-8
Constant Value: 32 (0x00000020)
CHANNEL_OUT_LOW_FREQUENCY_2
public static final int CHANNEL_OUT_LOW_FREQUENCY_2
The second LFE channel
 When used in conjunction with CHANNEL_OUT_LOW_FREQUENCY, it is intended
 to contain the right low-frequency effect signal, also referred to as "LFE2"
 in ITU-R BS.2159-8
Constant Value: 33554432 (0x02000000)
CHANNEL_OUT_MONO
public static final int CHANNEL_OUT_MONO
Constant Value: 4 (0x00000004)
CHANNEL_OUT_QUAD
public static final int CHANNEL_OUT_QUAD
Constant Value: 204 (0x000000cc)
CHANNEL_OUT_SIDE_LEFT
public static final int CHANNEL_OUT_SIDE_LEFT
Side left output channel (see SL in channel diagram)
Constant Value: 2048 (0x00000800)
CHANNEL_OUT_SIDE_RIGHT
public static final int CHANNEL_OUT_SIDE_RIGHT
Side right output channel (see SR in channel diagram)
Constant Value: 4096 (0x00001000)
CHANNEL_OUT_STEREO
public static final int CHANNEL_OUT_STEREO
Constant Value: 12 (0x0000000c)
CHANNEL_OUT_SURROUND
public static final int CHANNEL_OUT_SURROUND
Constant Value: 1052 (0x0000041c)
CHANNEL_OUT_TOP_BACK_CENTER
public static final int CHANNEL_OUT_TOP_BACK_CENTER
Top back center output channel (see TBC in channel diagram above BC)
Constant Value: 262144 (0x00040000)
CHANNEL_OUT_TOP_BACK_LEFT
public static final int CHANNEL_OUT_TOP_BACK_LEFT
Top back left output channel (see TBL in channel diagram above BL)
Constant Value: 131072 (0x00020000)
CHANNEL_OUT_TOP_BACK_RIGHT
public static final int CHANNEL_OUT_TOP_BACK_RIGHT
Top back right output channel (see TBR in channel diagram above BR)
Constant Value: 524288 (0x00080000)
CHANNEL_OUT_TOP_CENTER
public static final int CHANNEL_OUT_TOP_CENTER
Top center (above listener) output channel (see TC in channel diagram)
Constant Value: 8192 (0x00002000)
CHANNEL_OUT_TOP_FRONT_CENTER
public static final int CHANNEL_OUT_TOP_FRONT_CENTER
Top front center output channel (see TFC in channel diagram above FC)
Constant Value: 32768 (0x00008000)
CHANNEL_OUT_TOP_FRONT_LEFT
public static final int CHANNEL_OUT_TOP_FRONT_LEFT
Top front left output channel (see TFL in channel diagram above FL)
Constant Value: 16384 (0x00004000)
CHANNEL_OUT_TOP_FRONT_RIGHT
public static final int CHANNEL_OUT_TOP_FRONT_RIGHT
Top front right output channel (see TFR in channel diagram above FR)
Constant Value: 65536 (0x00010000)
CHANNEL_OUT_TOP_SIDE_LEFT
public static final int CHANNEL_OUT_TOP_SIDE_LEFT
Top side left output channel (see TSL in channel diagram above SL)
Constant Value: 1048576 (0x00100000)
CHANNEL_OUT_TOP_SIDE_RIGHT
public static final int CHANNEL_OUT_TOP_SIDE_RIGHT
Top side right output channel (see TSR in channel diagram above SR)
Constant Value: 2097152 (0x00200000)
ENCODING_AAC_ELD
public static final int ENCODING_AAC_ELD
Audio data format: AAC ELD compressed
Constant Value: 15 (0x0000000f)
ENCODING_AAC_HE_V1
public static final int ENCODING_AAC_HE_V1
Audio data format: AAC HE V1 compressed
Constant Value: 11 (0x0000000b)
ENCODING_AAC_HE_V2
public static final int ENCODING_AAC_HE_V2
Audio data format: AAC HE V2 compressed
Constant Value: 12 (0x0000000c)
ENCODING_AAC_LC
public static final int ENCODING_AAC_LC
Audio data format: AAC LC compressed
Constant Value: 10 (0x0000000a)
ENCODING_AAC_XHE
public static final int ENCODING_AAC_XHE
Audio data format: AAC xHE compressed
Constant Value: 16 (0x00000010)
ENCODING_AC3
public static final int ENCODING_AC3
Audio data format: AC-3 compressed, also known as Dolby Digital
Constant Value: 5 (0x00000005)
ENCODING_AC4
public static final int ENCODING_AC4
Audio data format: AC-4 (levels 0-3) sync frame transport format
Constant Value: 17 (0x00000011)
ENCODING_DEFAULT
public static final int ENCODING_DEFAULT
Default audio data format
Constant Value: 1 (0x00000001)
ENCODING_DOLBY_MAT
public static final int ENCODING_DOLBY_MAT
Audio data format: Dolby MAT (Metadata-enhanced Audio Transmission) Dolby MAT bitstreams are used to transmit Dolby TrueHD, channel-based PCM, or PCM with metadata (object audio) over HDMI (e.g. Dolby Atmos content).
Constant Value: 19 (0x00000013)
ENCODING_DOLBY_TRUEHD
public static final int ENCODING_DOLBY_TRUEHD
Audio data format: DOLBY TRUEHD compressed
Constant Value: 14 (0x0000000e)
ENCODING_DRA
public static final int ENCODING_DRA
Audio data format: DRA compressed
Constant Value: 28 (0x0000001c)
ENCODING_DSD
public static final int ENCODING_DSD
Audio data format: Direct Stream Digital
Constant Value: 31 (0x0000001f)
ENCODING_DTS
public static final int ENCODING_DTS
Audio data format: DTS compressed
Constant Value: 7 (0x00000007)
ENCODING_DTS_HD
public static final int ENCODING_DTS_HD
Audio data format: DTS HD compressed
Constant Value: 8 (0x00000008)
ENCODING_DTS_HD_MA
public static final int ENCODING_DTS_HD_MA
Audio data format: DTS HD Master Audio compressed
 DTS HD Master Audio stream is variable bit rate and contains lossless audio.
 Use ENCODING_DTS_HD_MA for lossless audio content (DTS-HD MA Lossless)
 and use ENCODING_DTS_HD for other DTS bitstreams with extension substream
 (DTS 8Ch Discrete, DTS Hi Res, DTS Express).
Constant Value: 29 (0x0000001d)
ENCODING_DTS_UHD
public static final int ENCODING_DTS_UHD
      This constant was deprecated
      in API level 34.
    Use ENCODING_DTS_UHD_P1 instead.
  
Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1) Has the same meaning and value as ENCODING_DTS_UHD_P1.
Constant Value: 27 (0x0000001b)
ENCODING_DTS_UHD_P1
public static final int ENCODING_DTS_UHD_P1
Audio data format: DTS UHD Profile-1 compressed (aka DTS:X Profile 1)
 Has the same meaning and value as the deprecated ENCODING_DTS_UHD.
Constant Value: 27 (0x0000001b)
ENCODING_DTS_UHD_P2
public static final int ENCODING_DTS_UHD_P2
Audio data format: DTS UHD Profile-2 compressed
 DTS-UHD Profile-2 supports delivery of Channel-Based Audio, Object-Based Audio
 and High Order Ambisonic presentations up to the fourth order.
 Use ENCODING_DTS_UHD_P1 to transmit DTS UHD Profile 1 (aka DTS:X Profile 1)
 bitstream.
 Use ENCODING_DTS_UHD_P2 to transmit DTS UHD Profile 2 (aka DTS:X Profile 2)
 bitstream.
Constant Value: 30 (0x0000001e)
ENCODING_E_AC3
public static final int ENCODING_E_AC3
Audio data format: E-AC-3 compressed, also known as Dolby Digital Plus or DD+
Constant Value: 6 (0x00000006)
ENCODING_E_AC3_JOC
public static final int ENCODING_E_AC3_JOC
Audio data format: E-AC-3-JOC compressed
 E-AC-3-JOC streams can be decoded by downstream devices supporting ENCODING_E_AC3.
 Use ENCODING_E_AC3 as the AudioTrack encoding when the downstream device
 supports ENCODING_E_AC3 but not ENCODING_E_AC3_JOC.
Constant Value: 18 (0x00000012)
ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC
public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_AAC
Audio data format: IAMF using the base-enhanced profile with audio streams encoded in AAC.
Constant Value: 42 (0x0000002a)
ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC
public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_FLAC
Audio data format: IAMF using the base-enhanced profile with audio streams encoded in FLAC.
Constant Value: 43 (0x0000002b)
ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS
public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_OPUS
Audio data format: IAMF using the base-enhanced profile with audio streams encoded in OPUS.
Constant Value: 41 (0x00000029)
ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM
public static final int ENCODING_IAMF_BASE_ENHANCED_PROFILE_PCM
Audio data format: IAMF using the base-enhanced profile with audio streams encoded in PCM.
Constant Value: 44 (0x0000002c)
ENCODING_IAMF_BASE_PROFILE_AAC
public static final int ENCODING_IAMF_BASE_PROFILE_AAC
Audio data format: IAMF using the base profile with audio streams encoded in AAC.
Constant Value: 38 (0x00000026)
ENCODING_IAMF_BASE_PROFILE_FLAC
public static final int ENCODING_IAMF_BASE_PROFILE_FLAC
Audio data format: IAMF using the base profile with audio streams encoded in FLAC.
Constant Value: 39 (0x00000027)
ENCODING_IAMF_BASE_PROFILE_OPUS
public static final int ENCODING_IAMF_BASE_PROFILE_OPUS
Audio data format: IAMF using the base profile with audio streams encoded in OPUS.
Constant Value: 37 (0x00000025)
ENCODING_IAMF_BASE_PROFILE_PCM
public static final int ENCODING_IAMF_BASE_PROFILE_PCM
Audio data format: IAMF using the base profile with audio streams encoded in PCM.
Constant Value: 40 (0x00000028)
ENCODING_IAMF_SIMPLE_PROFILE_AAC
public static final int ENCODING_IAMF_SIMPLE_PROFILE_AAC
Audio data format: IAMF using the simple profile with audio streams encoded in AAC.
Constant Value: 34 (0x00000022)
ENCODING_IAMF_SIMPLE_PROFILE_FLAC
public static final int ENCODING_IAMF_SIMPLE_PROFILE_FLAC
Audio data format: IAMF using the simple profile with audio streams encoded in FLAC.
Constant Value: 35 (0x00000023)
ENCODING_IAMF_SIMPLE_PROFILE_OPUS
public static final int ENCODING_IAMF_SIMPLE_PROFILE_OPUS
Audio data format: IAMF using the simple profile with audio streams encoded in OPUS.
Constant Value: 33 (0x00000021)
ENCODING_IAMF_SIMPLE_PROFILE_PCM
public static final int ENCODING_IAMF_SIMPLE_PROFILE_PCM
Audio data format: IAMF using the simple profile with audio streams encoded in PCM.
Constant Value: 36 (0x00000024)
ENCODING_IEC61937
public static final int ENCODING_IEC61937
Audio data format: compressed audio wrapped in PCM for HDMI
 or S/PDIF passthrough.
 For devices whose SDK version is less than Build.VERSION_CODES.S, the
 channel mask of IEC61937 track must be CHANNEL_OUT_STEREO.
 Data should be written to the stream in a short[] array.
 If the data is written in a byte[] array then there may be endian problems
 on some platforms when converting to short internally.
Constant Value: 13 (0x0000000d)
ENCODING_INVALID
public static final int ENCODING_INVALID
Invalid audio data format
Constant Value: 0 (0x00000000)
ENCODING_MP3
public static final int ENCODING_MP3
Audio data format: MP3 compressed
Constant Value: 9 (0x00000009)
ENCODING_MPEGH_BL_L3
public static final int ENCODING_MPEGH_BL_L3
Audio data format: MPEG-H baseline profile, level 3
Constant Value: 23 (0x00000017)
ENCODING_MPEGH_BL_L4
public static final int ENCODING_MPEGH_BL_L4
Audio data format: MPEG-H baseline profile, level 4
Constant Value: 24 (0x00000018)
ENCODING_MPEGH_LC_L3
public static final int ENCODING_MPEGH_LC_L3
Audio data format: MPEG-H low complexity profile, level 3
Constant Value: 25 (0x00000019)
ENCODING_MPEGH_LC_L4
public static final int ENCODING_MPEGH_LC_L4
Audio data format: MPEG-H low complexity profile, level 4
Constant Value: 26 (0x0000001a)
ENCODING_OPUS
public static final int ENCODING_OPUS
Audio data format: OPUS compressed.
Constant Value: 20 (0x00000014)
ENCODING_PCM_16BIT
public static final int ENCODING_PCM_16BIT
Audio data format: PCM 16 bit per sample. Guaranteed to be supported by devices.
Constant Value: 2 (0x00000002)
ENCODING_PCM_24BIT_PACKED
public static final int ENCODING_PCM_24BIT_PACKED
Audio data format: PCM 24 bit per sample packed as 3 bytes. The bytes are in little-endian order, so the least significant byte comes first in the byte array. Not guaranteed to be supported by devices, may be emulated if not supported.
Constant Value: 21 (0x00000015)
ENCODING_PCM_32BIT
public static final int ENCODING_PCM_32BIT
Audio data format: PCM 32 bit per sample. Not guaranteed to be supported by devices, may be emulated if not supported.
Constant Value: 22 (0x00000016)
ENCODING_PCM_8BIT
public static final int ENCODING_PCM_8BIT
Audio data format: PCM 8 bit per sample. Not guaranteed to be supported by devices.
Constant Value: 3 (0x00000003)
ENCODING_PCM_FLOAT
public static final int ENCODING_PCM_FLOAT
Audio data format: single-precision floating-point per sample
Constant Value: 4 (0x00000004)
SAMPLE_RATE_UNSPECIFIED
public static final int SAMPLE_RATE_UNSPECIFIED
Sample rate will be a route-dependent value. For AudioTrack, it is usually the sink sample rate, and for AudioRecord it is usually the source sample rate.
Constant Value: 0 (0x00000000)
Fields
Public methods
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
 instance's marshaled representation. For example, if the object will
 include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
equals
public boolean equals (Object o)
Indicates whether some other object is "equal to" this one.
 The equals method implements an equivalence relation
 on non-null object references:
 
- It is reflexive: for any non-null reference value
     x,x.equals(x)should returntrue.
- It is symmetric: for any non-null reference values
     xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue.
- It is transitive: for any non-null reference values
     x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
- It is consistent: for any non-null reference values
     xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified.
- For any non-null reference value x,x.equals(null)should returnfalse.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
| Parameters | |
|---|---|
| o | Object: the reference object with which to compare. | 
| Returns | |
|---|---|
| boolean | trueif this object is the same as the obj
          argument;falseotherwise. | 
getChannelCount
public int getChannelCount ()
Return the channel count.
| Returns | |
|---|---|
| int | the channel count derived from the channel position mask or the channel index mask. Zero is returned if both the channel position mask and the channel index mask are not set. | 
getChannelIndexMask
public int getChannelIndexMask ()
Return the channel index mask.
 See the section on channel masks for more information about
 the difference between index-based masks, and position-based masks (as returned
 by getChannelMask()).
| Returns | |
|---|---|
| int | one of the values that can be set in Builder.setChannelIndexMask(int)orAudioFormat.CHANNEL_INVALIDif not set or an invalid mask was used. | 
getChannelMask
public int getChannelMask ()
Return the channel mask.
 See the section on channel masks for more information about
 the difference between index-based masks(as returned by getChannelIndexMask()) and
 the position-based mask returned by this function.
| Returns | |
|---|---|
| int | one of the values that can be set in Builder.setChannelMask(int)orAudioFormat.CHANNEL_INVALIDif not set. | 
getEncoding
public int getEncoding ()
Return the encoding. See the section on encodings for more information about the different types of supported audio encoding.
getFrameSizeInBytes
public int getFrameSizeInBytes ()
Return the frame size in bytes.
 For PCM or PCM packed compressed data this is the size of a sample multiplied
 by the channel count. For all other cases, including invalid/unset channel masks,
 this will return 1 byte.
 As an example, a stereo 16-bit PCM format would have a frame size of 4 bytes,
 an 8 channel float PCM format would have a frame size of 32 bytes,
 and a compressed data format (not packed in PCM) would have a frame size of 1 byte.
 Both AudioRecord or AudioTrack process data in multiples of
 this frame size.
| Returns | |
|---|---|
| int | The audio frame size in bytes corresponding to the encoding and the channel mask. Value is 1 or greater | 
getSampleRate
public int getSampleRate ()
Return the sample rate.
| Returns | |
|---|---|
| int | one of the values that can be set in Builder.setSampleRate(int)orSAMPLE_RATE_UNSPECIFIEDif not set. | 
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
 supported for the benefit of hash tables such as those provided by
 HashMap.
 
 The general contract of hashCode is:
 
- Whenever it is invoked on the same object more than once during
     an execution of a Java application, the hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the equalsmethod, then calling thehashCodemethod on each of the two objects must produce the same integer result.
- It is not required that if two objects are unequal
     according to the equalsmethod, then calling thehashCodemethod on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
| Returns | |
|---|---|
| int | a hash code value for this object. | 
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| dest | Parcel: The Parcel in which the object should be written.
 This value cannot benull. | 
| flags | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-03-13 UTC.
