Google is committed to advancing racial equity for Black communities. See how.

AudioPresentation

public final class AudioPresentation
extends Object

java.lang.Object
   ↳ android.media.AudioPresentation


The AudioPresentation class encapsulates the information that describes an audio presentation which is available in next generation audio content. Used by MediaExtractor MediaExtractor#getAudioPresentations(int) and AudioTrack AudioTrack#setPresentation(AudioPresentation) to query available presentations and to select one, respectively. A list of available audio presentations in a media source can be queried using MediaExtractor#getAudioPresentations(int). This list can be presented to a user for selection. An AudioPresentation can be passed to an offloaded audio decoder via AudioTrack#setPresentation(AudioPresentation) to request decoding of the selected presentation. An audio stream may contain multiple presentations that differ by language, accessibility, end point mastering and dialogue enhancement. An audio presentation may also have a set of description labels in different languages to help the user to make an informed selection. Applications that parse media streams and extract presentation information on their own can create instances of AudioPresentation by using AudioPresentation.Builder class.

Summary

Nested classes

class AudioPresentation.Builder

A builder class for creating AudioPresentation objects. 

Constants

int MASTERED_FOR_3D

Three-dimensional (e.g. 5.1.2) speaker layout.

int MASTERED_FOR_HEADPHONE

Prerendered for headphone playback.

int MASTERED_FOR_STEREO

Stereo speaker layout.

int MASTERED_FOR_SURROUND

Two-dimensional (e.g. 5.1) speaker layout.

int MASTERING_NOT_INDICATED

No preferred reproduction channel layout.

Public methods

boolean equals(Object o)

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

Map<LocaleString> getLabels()
Locale getLocale()
int getMasteringIndication()
int getPresentationId()

Returns presentation ID used by the framework to select an audio presentation rendered by a decoder.

int getProgramId()

Returns program ID used by the framework to select an audio presentation rendered by a decoder.

boolean hasAudioDescription()

Indicates whether an audio description for the visually impaired is available.

boolean hasDialogueEnhancement()

Indicates whether dialogue enhancement is available.

boolean hasSpokenSubtitles()

Indicates whether spoken subtitles for the visually impaired are available.

int hashCode()

Returns a hash code value for the object.

String toString()

Returns a string representation of the object.

Inherited methods

Constants

MASTERED_FOR_3D

Added in API level 28
public static final int MASTERED_FOR_3D

Three-dimensional (e.g. 5.1.2) speaker layout.

Constant Value: 3 (0x00000003)

MASTERED_FOR_HEADPHONE

Added in API level 28
public static final int MASTERED_FOR_HEADPHONE

Prerendered for headphone playback.

Constant Value: 4 (0x00000004)

MASTERED_FOR_STEREO

Added in API level 28
public static final int MASTERED_FOR_STEREO

Stereo speaker layout.

Constant Value: 1 (0x00000001)

MASTERED_FOR_SURROUND

Added in API level 28
public static final int MASTERED_FOR_SURROUND

Two-dimensional (e.g. 5.1) speaker layout.

Constant Value: 2 (0x00000002)

MASTERING_NOT_INDICATED

Added in API level 28
public static final int MASTERING_NOT_INDICATED

No preferred reproduction channel layout.

Constant Value: 0 (0x00000000)

Public methods

equals

Added in API level 28
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.

getLabels

Added in API level 28
public Map<LocaleString> getLabels ()

Returns
Map<LocaleString> a map of available text labels for this presentation. Each label is indexed by its locale corresponding to the language code as specified by ISO 639-2. Either ISO 639-2/B or ISO 639-2/T could be used.

getLocale

Added in API level 28
public Locale getLocale ()

Returns
Locale the locale corresponding to audio presentation's ISO 639-1/639-2 language code.

getPresentationId

Added in API level 29
public int getPresentationId ()

Returns presentation ID used by the framework to select an audio presentation rendered by a decoder. Presentation ID is typically sequential, but does not have to be.

Returns
int

getProgramId

Added in API level 29
public int getProgramId ()

Returns program ID used by the framework to select an audio presentation rendered by a decoder. Program ID can be used to further uniquely identify the presentation to a decoder.

Returns
int

hasAudioDescription

Added in API level 28
public boolean hasAudioDescription ()

Indicates whether an audio description for the visually impaired is available.

Returns
boolean true if audio description is available.

hasDialogueEnhancement

Added in API level 28
public boolean hasDialogueEnhancement ()

Indicates whether dialogue enhancement is available.

Returns
boolean true if dialogue enhancement is available.

hasSpokenSubtitles

Added in API level 28
public boolean hasSpokenSubtitles ()

Indicates whether spoken subtitles for the visually impaired are available.

Returns
boolean true if spoken subtitles are available.

hashCode

Added in API level 28
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.

toString

Added in API level 28
public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.