# AudioPresentation.Builder

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

# Builder

*** ** * ** ***

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

```
class Builder
```

|---|------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                     ||
| ↳ | [android.media.AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) |

A builder class for creating[AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)objects.

## Summary

|                                                                                                                                                          Public constructors                                                                                                                                                           ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#Builder(kotlin.Int))`(`presentationId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Create a[Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#). |

|                                                                                                                                                                                                                                                                                                                  Public methods                                                                                                                                                                                                                                                                                                                  ||
|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)                  | [build](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#build())`()` Creates a[AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)instance with the specified fields.                                                                                                                                                                                                                                                                |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setHasAudioDescription](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setHasAudioDescription(kotlin.Boolean))`(`audioDescriptionAvailable:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Indicate whether the presentation contains audio description for the visually impaired.                                                                                                                                                       |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setHasDialogueEnhancement](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setHasDialogueEnhancement(kotlin.Boolean))`(`dialogueEnhancementAvailable:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Indicate whether the presentation supports dialogue enhancement.                                                                                                                                                                     |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setHasSpokenSubtitles](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setHasSpokenSubtitles(kotlin.Boolean))`(`spokenSubtitlesAvailable:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Indicate whether the presentation contains spoken subtitles for the visually impaired.                                                                                                                                                           |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setLabels](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setLabels(kotlin.collections.MutableMap))`(`labels:` `[MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html)<[ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale.html#)!,` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)!>`)` Sets locale / text label pairs describing the presentation. |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setLocale](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setLocale(android.icu.util.ULocale))`(`language:` `[ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale.html#)`)` Sets the language information of the audio presentation.                                                                                                                                                                                                                 |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setMasteringIndication](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setMasteringIndication(kotlin.Int))`(`masteringIndication:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the mastering indication.                                                                                                                                                                                                                                  |
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | [setProgramId](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#setProgramId(kotlin.Int))`(`programId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the ProgramId to which this audio presentation refers.                                                                                                                                                                                                                                   |

## Public constructors

### Builder

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

```
Builder(presentationId: Int)
```

Create a[Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#). Any field that should be included in the[AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)must be added.

|                                                                  Parameters                                                                  ||
|------------------|----------------------------------------------------------------------------------------------------------------------------|
| `presentationId` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The presentation ID of this audio presentation. |

## Public methods

### build

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

```
fun build(): AudioPresentation
```

Creates a[AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)instance with the specified fields.

|                                                                                                                       Return                                                                                                                        ||
|-----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| [AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation) | The new[AudioPresentation](https://developer.android.com/reference/kotlin/android/media/AudioPresentation)instance This value cannot be`null`. |

### setHasAudioDescription

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

```
fun setHasAudioDescription(audioDescriptionAvailable: Boolean): AudioPresentation.Builder
```

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

|                                                                          Parameters                                                                          ||
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| `audioDescriptionAvailable` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):Audio description for the visually impaired. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

### setHasDialogueEnhancement

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

```
fun setHasDialogueEnhancement(dialogueEnhancementAvailable: Boolean): AudioPresentation.Builder
```

Indicate whether the presentation supports dialogue enhancement.

|                                                                Parameters                                                                ||
|--------------------------------|----------------------------------------------------------------------------------------------------------|
| `dialogueEnhancementAvailable` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):Dialogue enhancement. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

### setHasSpokenSubtitles

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

```
fun setHasSpokenSubtitles(spokenSubtitlesAvailable: Boolean): AudioPresentation.Builder
```

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

|                                                                         Parameters                                                                         ||
|----------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| `spokenSubtitlesAvailable` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):Spoken subtitles for the visually impaired. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

### setLabels

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

```
fun setLabels(labels: MutableMap<ULocale!, CharSequence!>): AudioPresentation.Builder
```

Sets locale / text label pairs describing the presentation.

|                                                                                                                                                                                                  Parameters                                                                                                                                                                                                  ||
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `labels` | [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html)\<[ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale.html#)!,[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)!\>:Text label indexed by its locale corresponding to the language code. This value cannot be`null`. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

### setLocale

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

```
fun setLocale(language: ULocale): AudioPresentation.Builder
```

Sets the language information of the audio presentation.

|                                                                                       Parameters                                                                                        ||
|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `language` | [ULocale](https://developer.android.com/reference/kotlin/android/icu/util/ULocale.html#):Locale corresponding to ISO 639-1/639-2 language code. This value cannot be`null`. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

### setMasteringIndication

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

```
fun setMasteringIndication(masteringIndication: Int): AudioPresentation.Builder
```

Sets the mastering indication.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ||
|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `masteringIndication` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):Input to set mastering indication. Value is[android.media.AudioPresentation#MASTERING_NOT_INDICATED](https://developer.android.com/reference/kotlin/android/media/AudioPresentation#MASTERING_NOT_INDICATED:kotlin.Int),[android.media.AudioPresentation#MASTERED_FOR_STEREO](https://developer.android.com/reference/kotlin/android/media/AudioPresentation#MASTERED_FOR_STEREO:kotlin.Int),[android.media.AudioPresentation#MASTERED_FOR_SURROUND](https://developer.android.com/reference/kotlin/android/media/AudioPresentation#MASTERED_FOR_SURROUND:kotlin.Int),[android.media.AudioPresentation#MASTERED_FOR_3D](https://developer.android.com/reference/kotlin/android/media/AudioPresentation#MASTERED_FOR_3D:kotlin.Int), or[android.media.AudioPresentation#MASTERED_FOR_HEADPHONE](https://developer.android.com/reference/kotlin/android/media/AudioPresentation#MASTERED_FOR_HEADPHONE:kotlin.Int) |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |

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

### setProgramId

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

```
fun setProgramId(programId: Int): AudioPresentation.Builder
```

Sets the ProgramId to which this audio presentation refers.

|                                                      Parameters                                                       ||
|-------------|----------------------------------------------------------------------------------------------------------|
| `programId` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The program ID to be decoded. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [AudioPresentation.Builder](https://developer.android.com/reference/kotlin/android/media/AudioPresentation.Builder#) | This value cannot be`null`. |