# MediaItem.Builder

Artifact: [androidx.media3:media3-common](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/common/MediaItem.java+class:androidx.media3.common.MediaItem.Builder)

*** ** * ** ***


```
class MediaItem.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#Builder()()` Creates a builder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#build()()` Returns a new `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` instance with the current builder values. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(java.lang.String))(adTagUri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)`, parse the `adTagUri` with `https://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String)` and pass the result to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(android.net.Uri))(adTagUri: https://developer.android.com/reference/android/net/Uri.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)` and pass the `adTagUri` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(android.net.Uri,java.lang.Object))(adTagUri: https://developer.android.com/reference/android/net/Uri.html?, adsId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)`, pass the `adTagUri` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` and the `adsId` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#setAdsId(java.lang.Object)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)(adsConfiguration: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration?)` Sets the optional `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setClipEndPositionMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipEndPositionMs(long))(endPositionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setEndPositionMs(long)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setClipRelativeToDefaultPosition](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipRelativeToDefaultPosition(boolean))(relativeToDefaultPosition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setRelativeToDefaultPosition(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setClipRelativeToLiveWindow](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipRelativeToLiveWindow(boolean))(relativeToLiveWindow: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setRelativeToLiveWindow(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setClipStartPositionMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipStartPositionMs(long))(startPositionMs: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setStartPositionMs(long)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setClipStartsAtKeyFrame](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipStartsAtKeyFrame(boolean))(startsAtKeyFrame: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setStartsAtKeyFrame(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)( clippingConfiguration: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration! )` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration`, defaults to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration#UNSET()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setCustomCacheKey(java.lang.String)(customCacheKey: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the optional custom cache key (only used for progressive streams). |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)(drmConfiguration: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration?)` Sets the optional DRM configuration. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmForceDefaultLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmForceDefaultLicenseUri(boolean))(forceDefaultLicenseUri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForceDefaultLicenseUri(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmKeySetId](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmKeySetId(byte[]))(keySetId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setKeySetId(byte[])` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmLicenseRequestHeaders](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>))( licenseRequestHeaders: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>? )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseUri(java.lang.String))(licenseUri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseUri(java.lang.String)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseUri(android.net.Uri))(licenseUri: https://developer.android.com/reference/android/net/Uri.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseUri(android.net.Uri)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmMultiSession](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmMultiSession(boolean))(multiSession: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setMultiSession(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmPlayClearContentWithoutKey](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmPlayClearContentWithoutKey(boolean))(playClearContentWithoutKey: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmSessionForClearPeriods](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmSessionForClearPeriods(boolean))(sessionForClearPeriods: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForceSessionsForAudioAndVideoTracks(boolean)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmSessionForClearTypes](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmSessionForClearTypes(java.util.List<java.lang.Integer>))( sessionForClearTypes: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>? )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForcedSessionTrackTypes(java.util.List<java.lang.Integer>)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setDrmUuid](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmUuid(java.util.UUID))(uuid: https://developer.android.com/reference/java/util/UUID.html?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and pass the `uuid` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#Builder(java.util.UUID)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setImageDurationMs(long)(imageDurationMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets the image duration in video output, in milliseconds. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)(liveConfiguration: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration!)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setLiveMaxOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMaxOffsetMs(long))(liveMaxOffsetMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMaxOffsetMs(long)`. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setLiveMaxPlaybackSpeed](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMaxPlaybackSpeed(float))(maxPlaybackSpeed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMaxPlaybackSpeed(float)`. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setLiveMinOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMinOffsetMs(long))(liveMinOffsetMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMinOffsetMs(long)`. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setLiveMinPlaybackSpeed](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMinPlaybackSpeed(float))(minPlaybackSpeed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMinPlaybackSpeed(float)`. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setLiveTargetOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveTargetOffsetMs(long))(liveTargetOffsetMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setTargetOffsetMs(long)`. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setMediaId(java.lang.String)(mediaId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` Sets the optional media ID which identifies the media item. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setMediaMetadata(androidx.media3.common.MediaMetadata)(mediaMetadata: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!)` Sets the media metadata. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setMimeType(java.lang.String)(mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the optional MIME type. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setRequestMetadata(androidx.media3.common.MediaItem.RequestMetadata)(requestMetadata: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.RequestMetadata!)` Sets the request metadata. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setStreamKeys(java.util.List<androidx.media3.common.StreamKey>)(streamKeys: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/StreamKey!>?)` Sets the optional stream keys by which the manifest is filtered (only used for adaptive streams). |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitleConfigurations(java.util.List<androidx.media3.common.MediaItem.SubtitleConfiguration>)( subtitleConfigurations: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.SubtitleConfiguration!>! )` Sets the optional subtitles. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi [setSubtitles](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitles(java.util.List<androidx.media3.common.MediaItem.Subtitle>))(subtitles: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Subtitle!>?)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitleConfigurations(java.util.List<androidx.media3.common.MediaItem.SubtitleConfiguration>)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setTag(java.lang.Object)(tag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Sets the optional tag for custom attributes. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)(uri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the optional URI. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html?)` Sets the optional URI. |

## Public constructors

### Builder

```
Builder()
```

Creates a builder.

## Public functions

### build

```
fun build(): MediaItem!
```

Returns a new `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` instance with the current builder values.

### setAdTagUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(java.lang.String))(adTagUri: String?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)`, parse the `adTagUri` with `https://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String)` and pass the result to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` instead.

### setAdTagUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(android.net.Uri))(adTagUri: Uri?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)` and pass the `adTagUri` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` instead.

### setAdTagUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setAdTagUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdTagUri(android.net.Uri,java.lang.Object))(adTagUri: Uri?, adsId: Any?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setAdsConfiguration(androidx.media3.common.MediaItem.AdsConfiguration)`, pass the `adTagUri` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#Builder(android.net.Uri)` and the `adsId` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration.Builder#setAdsId(java.lang.Object)` instead.

### setAdsConfiguration

```
@CanIgnoreReturnValue
fun setAdsConfiguration(adsConfiguration: MediaItem.AdsConfiguration?): MediaItem.Builder!
```

Sets the optional `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.AdsConfiguration`.

This method should only be called if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null value.

### setClipEndPositionMs

```
@CanIgnoreReturnValue
@UnstableApi
fun [setClipEndPositionMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipEndPositionMs(long))(endPositionMs: Long): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setEndPositionMs(long)` instead.

### setClipRelativeToDefaultPosition

```
@CanIgnoreReturnValue
@UnstableApi
fun [setClipRelativeToDefaultPosition](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipRelativeToDefaultPosition(boolean))(relativeToDefaultPosition: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setRelativeToDefaultPosition(boolean)` instead.

### setClipRelativeToLiveWindow

```
@CanIgnoreReturnValue
@UnstableApi
fun [setClipRelativeToLiveWindow](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipRelativeToLiveWindow(boolean))(relativeToLiveWindow: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setRelativeToLiveWindow(boolean)` instead.

### setClipStartPositionMs

```
@CanIgnoreReturnValue
@UnstableApi
fun [setClipStartPositionMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipStartPositionMs(long))(startPositionMs: @IntRange(from = 0) Long): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setStartPositionMs(long)` instead.

### setClipStartsAtKeyFrame

```
@CanIgnoreReturnValue
@UnstableApi
fun [setClipStartsAtKeyFrame](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClipStartsAtKeyFrame(boolean))(startsAtKeyFrame: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration.Builder#setStartsAtKeyFrame(boolean)` instead.

### setClippingConfiguration

```
@CanIgnoreReturnValue
fun setClippingConfiguration(
    clippingConfiguration: MediaItem.ClippingConfiguration!
): MediaItem.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration`, defaults to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.ClippingConfiguration#UNSET()`.

### setCustomCacheKey

```
@CanIgnoreReturnValue
@UnstableApi
fun setCustomCacheKey(customCacheKey: String?): MediaItem.Builder!
```

Sets the optional custom cache key (only used for progressive streams).

This method should only be called if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null value.

### setDrmConfiguration

```
@CanIgnoreReturnValue
fun setDrmConfiguration(drmConfiguration: MediaItem.DrmConfiguration?): MediaItem.Builder!
```

Sets the optional DRM configuration.

### setDrmForceDefaultLicenseUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmForceDefaultLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmForceDefaultLicenseUri(boolean))(forceDefaultLicenseUri: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForceDefaultLicenseUri(boolean)` instead.

### setDrmKeySetId

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmKeySetId](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmKeySetId(byte[]))(keySetId: ByteArray<Byte>?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setKeySetId(byte[])` instead.

### setDrmLicenseRequestHeaders

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmLicenseRequestHeaders](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>))(
    licenseRequestHeaders: (Mutable)Map<String!, String!>?
): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>)` instead. Note that `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>)` doesn't accept null, use an empty map to clear the headers.

### setDrmLicenseUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseUri(java.lang.String))(licenseUri: String?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseUri(java.lang.String)` instead.

### setDrmLicenseUri

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmLicenseUri](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmLicenseUri(android.net.Uri))(licenseUri: Uri?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setLicenseUri(android.net.Uri)` instead.

### setDrmMultiSession

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmMultiSession](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmMultiSession(boolean))(multiSession: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setMultiSession(boolean)` instead.

### setDrmPlayClearContentWithoutKey

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmPlayClearContentWithoutKey](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmPlayClearContentWithoutKey(boolean))(playClearContentWithoutKey: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey(boolean)` instead.

### setDrmSessionForClearPeriods

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmSessionForClearPeriods](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmSessionForClearPeriods(boolean))(sessionForClearPeriods: Boolean): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForceSessionsForAudioAndVideoTracks(boolean)` instead.

### setDrmSessionForClearTypes

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmSessionForClearTypes](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmSessionForClearTypes(java.util.List<java.lang.Integer>))(
    sessionForClearTypes: (Mutable)List<@C.TrackType Int!>?
): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForcedSessionTrackTypes(java.util.List<java.lang.Integer>)` instead. Note that `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setForcedSessionTrackTypes(java.util.List<java.lang.Integer>)` doesn't accept null, use an empty list to clear the contents.

### setDrmUuid

```
@CanIgnoreReturnValue
@UnstableApi
fun [setDrmUuid](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmUuid(java.util.UUID))(uuid: UUID?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setDrmConfiguration(androidx.media3.common.MediaItem.DrmConfiguration)` and pass the `uuid` to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.DrmConfiguration.Builder#Builder(java.util.UUID)` instead.

### setImageDurationMs

```
@CanIgnoreReturnValue
@UnstableApi
fun setImageDurationMs(imageDurationMs: Long): MediaItem.Builder!
```

Sets the image duration in video output, in milliseconds.

Should be set if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is set and resolves to an image, otherwise the duration of the image may default to a very small value. Ignored otherwise.

Motion photos will be rendered as images if this parameter is set, and as videos otherwise.

Default value is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TIME_UNSET()`.

### setLiveConfiguration

```
@CanIgnoreReturnValue
fun setLiveConfiguration(liveConfiguration: MediaItem.LiveConfiguration!): MediaItem.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration`. Defaults to `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration#UNSET()`.

### setLiveMaxOffsetMs

```
@CanIgnoreReturnValue
@UnstableApi
fun [setLiveMaxOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMaxOffsetMs(long))(liveMaxOffsetMs: Long): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMaxOffsetMs(long)`.

### setLiveMaxPlaybackSpeed

```
@CanIgnoreReturnValue
@UnstableApi
fun [setLiveMaxPlaybackSpeed](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMaxPlaybackSpeed(float))(maxPlaybackSpeed: Float): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMaxPlaybackSpeed(float)`.

### setLiveMinOffsetMs

```
@CanIgnoreReturnValue
@UnstableApi
fun [setLiveMinOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMinOffsetMs(long))(liveMinOffsetMs: Long): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMinOffsetMs(long)`.

### setLiveMinPlaybackSpeed

```
@CanIgnoreReturnValue
@UnstableApi
fun [setLiveMinPlaybackSpeed](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveMinPlaybackSpeed(float))(minPlaybackSpeed: Float): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setMinPlaybackSpeed(float)`.

### setLiveTargetOffsetMs

```
@CanIgnoreReturnValue
@UnstableApi
fun [setLiveTargetOffsetMs](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveTargetOffsetMs(long))(liveTargetOffsetMs: Long): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LiveConfiguration.Builder#setTargetOffsetMs(long)`.

### setMediaId

```
@CanIgnoreReturnValue
fun setMediaId(mediaId: String!): MediaItem.Builder!
```

Sets the optional media ID which identifies the media item.

By default `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem#DEFAULT_MEDIA_ID()` is used.

### setMediaMetadata

```
@CanIgnoreReturnValue
fun setMediaMetadata(mediaMetadata: MediaMetadata!): MediaItem.Builder!
```

Sets the media metadata.

### setMimeType

```
@CanIgnoreReturnValue
fun setMimeType(mimeType: String?): MediaItem.Builder!
```

Sets the optional MIME type.

The MIME type may be used as a hint for inferring the type of the media item.

This method should only be called if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null value.

| Parameters |
|---|---|
| `mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | The MIME type. |

### setRequestMetadata

```
@CanIgnoreReturnValue
fun setRequestMetadata(requestMetadata: MediaItem.RequestMetadata!): MediaItem.Builder!
```

Sets the request metadata.

### setStreamKeys

```
@CanIgnoreReturnValue
@UnstableApi
fun setStreamKeys(streamKeys: (Mutable)List<StreamKey!>?): MediaItem.Builder!
```

Sets the optional stream keys by which the manifest is filtered (only used for adaptive streams).

`null` or an empty `https://developer.android.com/reference/java/util/List.html` can be used for a reset.

If `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null `uri`, the stream keys are used to create a `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LocalConfiguration` object. Otherwise they will be ignored.

### setSubtitleConfigurations

```
@CanIgnoreReturnValue
fun setSubtitleConfigurations(
    subtitleConfigurations: (Mutable)List<MediaItem.SubtitleConfiguration!>!
): MediaItem.Builder!
```

Sets the optional subtitles.

This method should only be called if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null value.

### setSubtitles

```
@CanIgnoreReturnValue
@UnstableApi
fun [setSubtitles](https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitles(java.util.List<androidx.media3.common.MediaItem.Subtitle>))(subtitles: (Mutable)List<MediaItem.Subtitle!>?): MediaItem.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitleConfigurations(java.util.List<androidx.media3.common.MediaItem.SubtitleConfiguration>)` instead. Note that `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setSubtitleConfigurations(java.util.List<androidx.media3.common.MediaItem.SubtitleConfiguration>)` doesn't accept null, use an empty list to clear the contents.

### setTag

```
@CanIgnoreReturnValue
fun setTag(tag: Any?): MediaItem.Builder!
```

Sets the optional tag for custom attributes. The tag for the media source which will be published in the `androidx.media3.common.Timeline` of the source as `
androidx.media3.common.Timeline.Window#tag`.

This method should only be called if `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#setUri(java.lang.String)` is passed a non-null value.

### setUri

```
@CanIgnoreReturnValue
fun setUri(uri: String?): MediaItem.Builder!
```

Sets the optional URI.

If `uri` is null or unset then no `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LocalConfiguration` object is created during `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#build()` and no other `Builder` methods that would populate `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem#localConfiguration()` should be called.

### setUri

```
@CanIgnoreReturnValue
fun setUri(uri: Uri?): MediaItem.Builder!
```

Sets the optional URI.

If `uri` is null or unset then no `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.LocalConfiguration` object is created during `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem.Builder#build()` and no other `Builder` methods that would populate `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem#localConfiguration()` should be called.