AudioPresentation

public final class AudioPresentation
extends Object implements Parcelable

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 CONTENT_COMMENTARY

Audio presentation content classifier: Commentary.

int CONTENT_DIALOG

Audio presentation content classifier: Dialog.

int CONTENT_EMERGENCY

Audio presentation content classifier: Emergency.

int CONTENT_HEARING_IMPAIRED

Audio presentation content classifier: Hearing impaired.

int CONTENT_MAIN

Audio presentation classifier: Complete main.

int CONTENT_MUSIC_AND_EFFECTS

Audio presentation content classifier: Music and effects.

int CONTENT_UNKNOWN

Audio presentation classifier: Unknown.

int CONTENT_VISUALLY_IMPAIRED

Audio presentation content classifier: Visually impaired.

int CONTENT_VOICEOVER

Audio presentation content classifier: Voice over.

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.

int PRESENTATION_ID_UNKNOWN

Unknown audio presentation ID, this indicates audio presentation ID is not selected.

int PROGRAM_ID_UNKNOWN

Unknown audio program ID, this indicates audio program ID is not selected.

Inherited constants

Fields

public static final Creator<AudioPresentation> 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.

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.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

CONTENT_COMMENTARY

Added in API level 31
public static final int CONTENT_COMMENTARY

Audio presentation content classifier: Commentary.

Constant Value: 5 (0x00000005)

CONTENT_DIALOG

Added in API level 31
public static final int CONTENT_DIALOG

Audio presentation content classifier: Dialog.

Constant Value: 4 (0x00000004)

CONTENT_EMERGENCY

Added in API level 31
public static final int CONTENT_EMERGENCY

Audio presentation content classifier: Emergency.

Constant Value: 6 (0x00000006)

CONTENT_HEARING_IMPAIRED

Added in API level 31
public static final int CONTENT_HEARING_IMPAIRED

Audio presentation content classifier: Hearing impaired.

Constant Value: 3 (0x00000003)

CONTENT_MAIN

Added in API level 31
public static final int CONTENT_MAIN

Audio presentation classifier: Complete main.

Constant Value: 0 (0x00000000)

CONTENT_MUSIC_AND_EFFECTS

Added in API level 31
public static final int CONTENT_MUSIC_AND_EFFECTS

Audio presentation content classifier: Music and effects.

Constant Value: 1 (0x00000001)

CONTENT_UNKNOWN

Added in API level 31
public static final int CONTENT_UNKNOWN

Audio presentation classifier: Unknown.

Constant Value: -1 (0xffffffff)

CONTENT_VISUALLY_IMPAIRED

Added in API level 31
public static final int CONTENT_VISUALLY_IMPAIRED

Audio presentation content classifier: Visually impaired.

Constant Value: 2 (0x00000002)

CONTENT_VOICEOVER

Added in API level 31
public static final int CONTENT_VOICEOVER

Audio presentation content classifier: Voice over.

Constant Value: 7 (0x00000007)

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)

PRESENTATION_ID_UNKNOWN

Added in API level 34
public static final int PRESENTATION_ID_UNKNOWN

Unknown audio presentation ID, this indicates audio presentation ID is not selected.

Constant Value: -1 (0xffffffff)

PROGRAM_ID_UNKNOWN

Added in API level 34
public static final int PROGRAM_ID_UNKNOWN

Unknown audio program ID, this indicates audio program ID is not selected.

Constant Value: -1 (0xffffffff)

Fields

CREATOR

Added in API level 34
public static final Creator<AudioPresentation> CREATOR

Public methods

describeContents

Added in API level 34
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 0 or CONTENTS_FILE_DESCRIPTOR

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.

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 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 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 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.

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.

Returns
String a string representation of the object.

writeToParcel

Added in API level 34
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES