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

# Builder

*** ** * ** ***

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

```
class Builder
```

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

Builder class for `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities` objects. Use this class to configure and create an ApplicationMediaCapabilities instance. Builder could be created from an existing ApplicationMediaCapabilities object, from a xml file or MediaCodecList. //TODO(hkuang): Add xml parsing support to the builder.

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#Builder()()` Constructs a new Builder with all the supports default to false. |

| Public methods ||
|---|---|
| [ApplicationMediaCapabilities.Builder](https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#) | `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#addSupportedHdrType(kotlin.String)(hdrType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds a supported hdr type. |
| [ApplicationMediaCapabilities.Builder](https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#) | `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#addSupportedVideoMimeType(kotlin.String)(codecMime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds a supported video codec mime type. |
| [ApplicationMediaCapabilities.Builder](https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#) | `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#addUnsupportedHdrType(kotlin.String)(hdrType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds an unsupported hdr type. |
| [ApplicationMediaCapabilities.Builder](https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#) | `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#addUnsupportedVideoMimeType(kotlin.String)(codecMime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds an unsupported video codec mime type. |
| [ApplicationMediaCapabilities](https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities) | `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#build()()` Builds a `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities` object. |

## Public constructors

### Builder

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

```
Builder()
```

Constructs a new Builder with all the supports default to false.

## Public methods

### addSupportedHdrType

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

```
fun addSupportedHdrType(hdrType: String): ApplicationMediaCapabilities.Builder
```

Adds a supported hdr type.

| Parameters ||
|---|---|
| `hdrType` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): Supported hdr type. Must be one of the String defined in `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType`. This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#DOLBY_VISION:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HDR10:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HDR10_PLUS:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HLG:kotlin.String` |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if hdrType is not valid. |

### addSupportedVideoMimeType

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

```
fun addSupportedVideoMimeType(codecMime: String): ApplicationMediaCapabilities.Builder
```

Adds a supported video codec mime type.

| Parameters ||
|---|---|
| `codecMime` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): Supported codec mime types. Must be one of the mime type defined in `https://developer.android.com/reference/kotlin/android/media/MediaFormat`. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if mime type is not valid. |

### addUnsupportedHdrType

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

```
fun addUnsupportedHdrType(hdrType: String): ApplicationMediaCapabilities.Builder
```

Adds an unsupported hdr type.

| Parameters ||
|---|---|
| `hdrType` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): Unsupported hdr type. Must be one of the String defined in `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType`. This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#DOLBY_VISION:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HDR10:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HDR10_PLUS:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/MediaFeature.HdrType#HLG:kotlin.String` |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if hdrType is not valid. |

### addUnsupportedVideoMimeType

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

```
fun addUnsupportedVideoMimeType(codecMime: String): ApplicationMediaCapabilities.Builder
```

Adds an unsupported video codec mime type.

| Parameters ||
|---|---|
| `codecMime` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): Unsupported codec mime type. Must be one of the mime type defined in `https://developer.android.com/reference/kotlin/android/media/MediaFormat`. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities.Builder#` | This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | if mime type is not valid. |

### build

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

```
fun build(): ApplicationMediaCapabilities
```

Builds a `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities` object.

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities` | a new `https://developer.android.com/reference/kotlin/android/media/ApplicationMediaCapabilities` instance successfully initialized with all the parameters set on this `Builder`. This value cannot be `null`. |

| Exceptions ||
|---|---|
| `java.lang.UnsupportedOperationException` | if the parameters set on the `Builder` were incompatible, or if they are not supported by the device. |