Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/media/AudioPresentation.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/media/AudioPresentation.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/media/AudioPresentation.Builder#inhmethods)

# AudioPresentation.Builder

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder "View this page in Kotlin") \|Java


`
public
static
final

class
AudioPresentation.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.AudioPresentation.Builder |

<br />

*** ** * ** ***

A builder class for creating `https://developer.android.com/reference/android/media/AudioPresentation` objects.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#Builder(int)(int presentationId) ` Create a `https://developer.android.com/reference/android/media/AudioPresentation.Builder`. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/media/AudioPresentation` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#build()() ` Creates a `https://developer.android.com/reference/android/media/AudioPresentation` instance with the specified fields. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setHasAudioDescription(boolean)(boolean audioDescriptionAvailable) ` Indicate whether the presentation contains audio description for the visually impaired. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setHasDialogueEnhancement(boolean)(boolean dialogueEnhancementAvailable) ` Indicate whether the presentation supports dialogue enhancement. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setHasSpokenSubtitles(boolean)(boolean spokenSubtitlesAvailable) ` Indicate whether the presentation contains spoken subtitles for the visually impaired. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setLabels(java.util.Map<android.icu.util.ULocale,java.lang.CharSequence>)(https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/android/icu/util/ULocale, https://developer.android.com/reference/java/lang/CharSequence> labels) ` Sets locale / text label pairs describing the presentation. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setLocale(android.icu.util.ULocale)(https://developer.android.com/reference/android/icu/util/ULocale language) ` Sets the language information of the audio presentation. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setMasteringIndication(int)(int masteringIndication) ` Sets the mastering indication. |
| ` https://developer.android.com/reference/android/media/AudioPresentation.Builder` | ` https://developer.android.com/reference/android/media/AudioPresentation.Builder#setProgramId(int)(int programId) ` Sets the ProgramId to which this audio presentation refers. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### Builder

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Builder (int presentationId)
```

Create a `https://developer.android.com/reference/android/media/AudioPresentation.Builder`. Any field that should be included in the
`https://developer.android.com/reference/android/media/AudioPresentation` must be added.

<br />

| Parameters ||
|---|---|
| `presentationId` | `int`: The presentation ID of this audio presentation. <br /> |

## Public methods

### build

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation build ()
```

Creates a `https://developer.android.com/reference/android/media/AudioPresentation` instance with the specified fields.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation` | The new `https://developer.android.com/reference/android/media/AudioPresentation` instance. This value cannot be `null`. <br /> |

### setHasAudioDescription

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setHasAudioDescription (boolean audioDescriptionAvailable)
```

Indicate whether the presentation contains audio description for the visually impaired.

<br />

| Parameters ||
|---|---|
| `audioDescriptionAvailable` | `boolean`: Audio description for the visually impaired. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

### setHasDialogueEnhancement

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setHasDialogueEnhancement (boolean dialogueEnhancementAvailable)
```

Indicate whether the presentation supports dialogue enhancement.

<br />

| Parameters ||
|---|---|
| `dialogueEnhancementAvailable` | `boolean`: Dialogue enhancement. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

### setHasSpokenSubtitles

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setHasSpokenSubtitles (boolean spokenSubtitlesAvailable)
```

Indicate whether the presentation contains spoken subtitles for the visually impaired.

<br />

| Parameters ||
|---|---|
| `spokenSubtitlesAvailable` | `boolean`: Spoken subtitles for the visually impaired. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

### setLabels

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setLabels (Map<ULocale, CharSequence> labels)
```

Sets locale / text label pairs describing the presentation.

<br />

| Parameters ||
|---|---|
| `labels` | `Map`: Text label indexed by its locale corresponding to the language code. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

### setLocale

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setLocale (ULocale language)
```

Sets the language information of the audio presentation.

<br />

| Parameters ||
|---|---|
| `language` | `ULocale`: Locale corresponding to ISO 639-1/639-2 language code. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

### setMasteringIndication

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setMasteringIndication (int masteringIndication)
```

Sets the mastering indication.

<br />

| Parameters ||
|---|---|
| `masteringIndication` | `int`: Input to set mastering indication. Value is one of the following: - `https://developer.android.com/reference/android/media/AudioPresentation#MASTERING_NOT_INDICATED` - `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_STEREO` - `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_SURROUND` - `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_3D` - `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_HEADPHONE` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the mastering indication is not any of `https://developer.android.com/reference/android/media/AudioPresentation#MASTERING_NOT_INDICATED`, `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_STEREO`, `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_SURROUND`, `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_3D`, and `https://developer.android.com/reference/android/media/AudioPresentation#MASTERED_FOR_HEADPHONE` |

### setProgramId

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AudioPresentation.Builder setProgramId (int programId)
```

Sets the ProgramId to which this audio presentation refers.

<br />

| Parameters ||
|---|---|
| `programId` | `int`: The program ID to be decoded. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/media/AudioPresentation.Builder` | This value cannot be `null`. <br /> |