# Print output for @column tags ?> AudioDeviceInfo - Android SDK | Android Developers

Most visited

Recently visited

AudioDeviceInfo

public final class AudioDeviceInfo
extends Object

java.lang.Object
   ↳ android.media.AudioDeviceInfo


Provides information about an audio device.

Summary

Constants

int TYPE_AUX_LINE

A device type describing the auxiliary line-level connectors.

int TYPE_BLE_HEADSET

A device type describing a Bluetooth Low Energy (BLE) audio headset or headphones.

int TYPE_BLE_SPEAKER

A device type describing a Bluetooth Low Energy (BLE) audio speaker.

int TYPE_BLUETOOTH_A2DP

A device type describing a Bluetooth device supporting the A2DP profile.

int TYPE_BLUETOOTH_SCO

A device type describing a Bluetooth device typically used for telephony.

int TYPE_BUILTIN_EARPIECE

A device type describing the attached earphone speaker.

int TYPE_BUILTIN_MIC

A device type describing the microphone(s) built in a device.

int TYPE_BUILTIN_SPEAKER

A device type describing the speaker system (i.e.

int TYPE_BUILTIN_SPEAKER_SAFE

A device type describing the speaker system (i.e.

int TYPE_BUS

A type-agnostic device used for communication with external audio systems

int TYPE_DOCK

A device type describing the audio device associated with a dock.

int TYPE_FM

A device type associated with the transmission of audio signals over FM.

int TYPE_FM_TUNER

A device type for accessing the audio content transmitted over FM.

int TYPE_HDMI

A device type describing an HDMI connection .

int TYPE_HDMI_ARC

A device type describing the Audio Return Channel of an HDMI connection.

int TYPE_HDMI_EARC

A device type describing the Enhanced Audio Return Channel of an HDMI connection.

int TYPE_HEARING_AID

A device type describing a Hearing Aid.

int TYPE_IP

A device type connected over IP.

int TYPE_LINE_ANALOG

A device type describing an analog line-level connection.

int TYPE_LINE_DIGITAL

A device type describing a digital line connection (e.g. SPDIF).

int TYPE_REMOTE_SUBMIX

A device type for rerouting audio within the Android framework between mixes and system applications.

int TYPE_TELEPHONY

A device type describing the transmission of audio signals over the telephony network.

int TYPE_TV_TUNER

A device type for accessing the audio content transmitted over the TV tuner system.

int TYPE_UNKNOWN

A device type associated with an unknown or uninitialized device.

int TYPE_USB_ACCESSORY

A device type describing a USB audio device in accessory mode.

int TYPE_USB_DEVICE

A device type describing a USB audio device.

int TYPE_USB_HEADSET

A device type describing a USB audio headset.

int TYPE_WIRED_HEADPHONES

A device type describing a pair of wired headphones.

int TYPE_WIRED_HEADSET

A device type describing a headset, which is the combination of a headphones and microphone.

Public methods

boolean equals(Object o)

Indicates whether some other object is "equal to" this one.

String getAddress()
List<AudioDescriptor> getAudioDescriptors()
List<AudioProfile> getAudioProfiles()
int[] getChannelCounts()
int[] getChannelIndexMasks()
int[] getChannelMasks()
int[] getEncapsulationMetadataTypes()

Returns an array of supported encapsulation metadata types for the device.

int[] getEncapsulationModes()

Returns an array of supported encapsulation modes for the device.

int[] getEncodings()
int getId()
CharSequence getProductName()
int[] getSampleRates()
int getType()
int hashCode()

Returns a hash code value for the object.

boolean isSink()
boolean isSource()

Inherited methods

Constants

TYPE_AUX_LINE

public static final int TYPE_AUX_LINE

A device type describing the auxiliary line-level connectors.

Constant Value: 19 (0x00000013)

TYPE_BLE_HEADSET

public static final int TYPE_BLE_HEADSET

A device type describing a Bluetooth Low Energy (BLE) audio headset or headphones. Headphones are grouped with headsets when the device is a sink: the features of headsets and headphones with regard to playback are the same.

Constant Value: 26 (0x0000001a)

TYPE_BLE_SPEAKER

public static final int TYPE_BLE_SPEAKER

A device type describing a Bluetooth Low Energy (BLE) audio speaker.

Constant Value: 27 (0x0000001b)

TYPE_BLUETOOTH_A2DP

public static final int TYPE_BLUETOOTH_A2DP

A device type describing a Bluetooth device supporting the A2DP profile.

Constant Value: 8 (0x00000008)

TYPE_BLUETOOTH_SCO

public static final int TYPE_BLUETOOTH_SCO

A device type describing a Bluetooth device typically used for telephony.

Constant Value: 7 (0x00000007)

TYPE_BUILTIN_EARPIECE

public static final int TYPE_BUILTIN_EARPIECE

A device type describing the attached earphone speaker.

Constant Value: 1 (0x00000001)

TYPE_BUILTIN_MIC

public static final int TYPE_BUILTIN_MIC

A device type describing the microphone(s) built in a device.

Constant Value: 15 (0x0000000f)

TYPE_BUILTIN_SPEAKER

public static final int TYPE_BUILTIN_SPEAKER

A device type describing the speaker system (i.e. a mono speaker or stereo speakers) built in a device.

Constant Value: 2 (0x00000002)

TYPE_BUILTIN_SPEAKER_SAFE

public static final int TYPE_BUILTIN_SPEAKER_SAFE

A device type describing the speaker system (i.e. a mono speaker or stereo speakers) built in a device, that is specifically tuned for outputting sounds like notifications and alarms (i.e. sounds the user couldn't necessarily anticipate).

Note that this physical audio device may be the same as TYPE_BUILTIN_SPEAKER but is driven differently to safely accommodate the different use case.

Constant Value: 24 (0x00000018)

TYPE_BUS

public static final int TYPE_BUS

A type-agnostic device used for communication with external audio systems

Constant Value: 21 (0x00000015)

TYPE_DOCK

public static final int TYPE_DOCK

A device type describing the audio device associated with a dock.

Constant Value: 13 (0x0000000d)

TYPE_FM

public static final int TYPE_FM

A device type associated with the transmission of audio signals over FM.

Constant Value: 14 (0x0000000e)

TYPE_FM_TUNER

public static final int TYPE_FM_TUNER

A device type for accessing the audio content transmitted over FM.

Constant Value: 16 (0x00000010)

TYPE_HDMI

public static final int TYPE_HDMI

A device type describing an HDMI connection .

Constant Value: 9 (0x00000009)

TYPE_HDMI_ARC

public static final int TYPE_HDMI_ARC

A device type describing the Audio Return Channel of an HDMI connection.

Constant Value: 10 (0x0000000a)

TYPE_HDMI_EARC

public static final int TYPE_HDMI_EARC

A device type describing the Enhanced Audio Return Channel of an HDMI connection.

Constant Value: 29 (0x0000001d)

TYPE_HEARING_AID

public static final int TYPE_HEARING_AID

A device type describing a Hearing Aid.

Constant Value: 23 (0x00000017)

TYPE_IP

public static final int TYPE_IP

A device type connected over IP.

Constant Value: 20 (0x00000014)

TYPE_LINE_ANALOG

public static final int TYPE_LINE_ANALOG

A device type describing an analog line-level connection.

Constant Value: 5 (0x00000005)

TYPE_LINE_DIGITAL

public static final int TYPE_LINE_DIGITAL

A device type describing a digital line connection (e.g. SPDIF).

Constant Value: 6 (0x00000006)

TYPE_REMOTE_SUBMIX

public static final int TYPE_REMOTE_SUBMIX

A device type for rerouting audio within the Android framework between mixes and system applications. This type is for instance encountered when querying the output device of a track (with AudioTrack#getRoutedDevice() playing from a device in screen mirroring mode, where the audio is not heard on the device, but on the remote device.

Constant Value: 25 (0x00000019)

TYPE_TELEPHONY

public static final int TYPE_TELEPHONY

A device type describing the transmission of audio signals over the telephony network.

Constant Value: 18 (0x00000012)

TYPE_TV_TUNER

public static final int TYPE_TV_TUNER

A device type for accessing the audio content transmitted over the TV tuner system.

Constant Value: 17 (0x00000011)

TYPE_UNKNOWN

public static final int TYPE_UNKNOWN

A device type associated with an unknown or uninitialized device.

Constant Value: 0 (0x00000000)

TYPE_USB_ACCESSORY

public static final int TYPE_USB_ACCESSORY

A device type describing a USB audio device in accessory mode.

Constant Value: 12 (0x0000000c)

TYPE_USB_DEVICE

public static final int TYPE_USB_DEVICE

A device type describing a USB audio device.

Constant Value: 11 (0x0000000b)

TYPE_USB_HEADSET

public static final int TYPE_USB_HEADSET

A device type describing a USB audio headset.

Constant Value: 22 (0x00000016)

TYPE_WIRED_HEADPHONES

public static final int TYPE_WIRED_HEADPHONES

A device type describing a pair of wired headphones.

Constant Value: 4 (0x00000004)

TYPE_WIRED_HEADSET

public static final int TYPE_WIRED_HEADSET

A device type describing a headset, which is the combination of a headphones and microphone.

Constant Value: 3 (0x00000003)

Public methods

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 return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

Parameters
o Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getAddress

public String getAddress ()

Returns
String The "address" string of the device. This generally contains device-specific parameters. This value cannot be null.

getAudioDescriptors

public List<AudioDescriptor> getAudioDescriptors ()

Returns
List<AudioDescriptor> A list of AudioDescriptor supported by the audio devices. This value cannot be null.

getAudioProfiles

public List<AudioProfile> getAudioProfiles ()

Returns
List<AudioProfile> A list of AudioProfile supported by the audio devices. This value cannot be null.

getChannelCounts

public int[] getChannelCounts ()

Returns
int[] An array of channel counts (1, 2, 4, ...) for which this audio device can be configured. Note: an empty array indicates that the device supports arbitrary channel counts. This value cannot be null.

getChannelIndexMasks

public int[] getChannelIndexMasks ()

Returns
int[] An array of channel index masks for which this audio device can be configured. This value cannot be null.

See also:

getChannelMasks

public int[] getChannelMasks ()

Returns
int[] An array of channel position masks (e.g. AudioFormat#CHANNEL_IN_STEREO, AudioFormat#CHANNEL_OUT_7POINT1) for which this audio device can be configured. This value cannot be null.

See also:

getEncapsulationMetadataTypes

public int[] getEncapsulationMetadataTypes ()

Returns an array of supported encapsulation metadata types for the device. The metadata type returned should be allowed for all encapsulation modes supported by the device. Some metadata types may apply only to certain compressed stream formats, the returned list is the union of subsets. The array can include any of AudioTrack#ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER, AudioTrack#ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR.

Returns
int[] An array of supported encapsulation metadata types for the device. This may be an empty array if no metadata types are supported. This value cannot be null. Value is android.media.AudioTrack.ENCAPSULATION_METADATA_TYPE_NONE, AudioTrack.ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER, or AudioTrack.ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR

getEncapsulationModes

public int[] getEncapsulationModes ()

Returns an array of supported encapsulation modes for the device. The array can include any of the AudioTrack encapsulation modes, e.g. AudioTrack#ENCAPSULATION_MODE_ELEMENTARY_STREAM.

Returns
int[] An array of supported encapsulation modes for the device. This may be an empty array if no encapsulation modes are supported. This value cannot be null. Value is AudioTrack.ENCAPSULATION_MODE_NONE, or AudioTrack.ENCAPSULATION_MODE_ELEMENTARY_STREAM

getEncodings

public int[] getEncodings ()

Returns
int[] An array of audio encodings (e.g. AudioFormat#ENCODING_PCM_16BIT, AudioFormat#ENCODING_PCM_FLOAT) supported by the audio device. ENCODING_PCM_FLOAT indicates the device supports more than 16 bits of integer precision. As there is no AudioFormat constant specifically defined for 24-bit PCM, the value ENCODING_PCM_FLOAT indicates that AudioTrack or AudioRecord can preserve at least 24 bits of integer precision to that device. This value cannot be null.

See also:

getId

public int getId ()

Returns
int The internal device ID.

getProductName

public CharSequence getProductName ()

Returns
CharSequence The human-readable name of the audio device.

getSampleRates

public int[] getSampleRates ()

Returns
int[] An array of sample rates supported by the audio device. Note: an empty array indicates that the device supports arbitrary rates. This value cannot be null.

getType

public int getType ()

Returns
int The device type identifier of the audio device (i.e. TYPE_BUILTIN_SPEAKER).

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 hashCode method must consistently return the same integer, provided no information used in equals comparisons 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 equals(Object) method, then calling the hashCode method 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 equals(java.lang.Object) method, then calling the hashCode method 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.

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
int a hash code value for this object.

isSink

public boolean isSink ()

Returns
boolean true if the audio device is a sink for audio data (i.e. an output).

isSource

public boolean isSource ()

Returns
boolean true if the audio device is a source for audio data (e.e an input).