# TrackSelectionParameters.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/TrackSelectionParameters.java+class:androidx.media3.common.TrackSelectionParameters.Builder)

*** ** * ** ***


```
class TrackSelectionParameters.Builder
```

<br />

Known direct subclasses [DefaultTrackSelector.Parameters.Builder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder), [DefaultTrackSelector.ParametersBuilder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.ParametersBuilder)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` | A builder for `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.ParametersBuilder` | **This class is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.Parameters.Builder` instead. <br /> |

*** ** * ** ***

A builder for `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters`. See the `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` documentation for explanations of the parameters that can be configured using this builder.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder()()` Creates a builder with default initial values. |
| `@https://checkerframework.org/api/com/google/errorprone/annotations/InlineMe.html(replacement = "this()") [Builder](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder(android.content.Context))(context: https://developer.android.com/reference/android/content/Context.html!)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder()` instead. <br /> |

| ### Protected constructors |
|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder(android.os.Bundle)(bundle: https://developer.android.com/reference/android/os/Bundle.html!)` Creates a builder with the initial values specified in `bundle`. |
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder(androidx.media3.common.TrackSelectionParameters)(initialValues: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters!)` Creates a builder with the initial values specified in `initialValues`. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#addOverride(androidx.media3.common.TrackSelectionOverride)(override: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride!)` Adds an override, replacing any override for the same `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#build()()` Builds a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` instance with the selected values. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#clearOverride(androidx.media3.common.TrackGroup)(mediaTrackGroup: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!)` Removes the override for the provided media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup`, if there is one. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#clearOverrides()()` Removes all overrides. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#clearOverridesOfType(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType trackType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Removes all overrides of the provided track type. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#clearVideoSizeConstraints()()` Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#clearViewportSizeConstraints()()` Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSize(int,int,boolean)`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi @https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setAudioOffloadPreferences(androidx.media3.common.TrackSelectionParameters.AudioOffloadPreferences)( audioOffloadPreferences: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences! )` Sets the audio offload mode preferences. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.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/TrackSelectionParameters.Builder#setDisabledTrackTypes(java.util.Set<java.lang.Integer>)(disabledTrackTypes: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>!)` Sets the disabled track types, preventing all tracks of those types from being selected for playback. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setForceHighestSupportedBitrate(boolean)(forceHighestSupportedBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setForceLowestBitrate(boolean)(forceLowestBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setIgnoredTextSelectionFlags(int)( @https://developer.android.com/reference/kotlin/androidx/media3/common/C.SelectionFlags ignoredTextSelectionFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Sets a bitmask of selection flags that are ignored for text track selections. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxAudioBitrate(int)(maxAudioBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the maximum allowed audio bitrate. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxAudioChannelCount(int)(maxAudioChannelCount: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the maximum allowed audio channel count. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoBitrate(int)(maxVideoBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the maximum allowed video bitrate. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoFrameRate(int)(maxVideoFrameRate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the maximum allowed video frame rate. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)(maxVideoWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxVideoHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the maximum allowed video width and height. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSizeSd()()` Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMinVideoBitrate(int)(minVideoBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the minimum allowed video bitrate. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMinVideoFrameRate(int)(minVideoFrameRate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the minimum allowed video frame rate. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMinVideoSize(int,int)(minVideoWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, minVideoHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the minimum allowed video width and height. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setOverrideForType(androidx.media3.common.TrackSelectionOverride)(override: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride!)` Sets an override, replacing all existing overrides with the same track type. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioLabels(java.lang.String...)(preferredAudioLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred labels for audio tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioLanguage(java.lang.String)(preferredAudioLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the preferred language for audio and forced text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioLanguages(java.lang.String...)(preferredAudioLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred languages for audio and forced text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioMimeType(java.lang.String)(mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the preferred sample MIME type for audio tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioMimeTypes(java.lang.String...)(mimeTypes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred sample MIME types for audio tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredAudioRoleFlags(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredAudioRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for audio tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLabels(java.lang.String...)(preferredTextLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred labels for text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguage(java.lang.String)(preferredTextLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the preferred language for text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()()` Sets whether the preferred languages and the preferred role flags for text tracks should be set according the `https://developer.android.com/reference/android/view/accessibility/CaptioningManager.html` preferences, if enabled in the system settings and no other explicit language or role flag preferences are specified. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(android.content.Context))( context: https://developer.android.com/reference/android/content/Context.html! )` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguages(java.lang.String...)(preferredTextLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred languages for text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextRoleFlags(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredTextRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for text tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoLabels(java.lang.String...)(preferredVideoLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred labels for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoLanguage(java.lang.String)(preferredVideoLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the preferred language for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoLanguages(java.lang.String...)(preferredVideoLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred languages for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoMimeType(java.lang.String)(mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the preferred sample MIME type for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoMimeTypes(java.lang.String...)(mimeTypes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` Sets the preferred sample MIME types for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredVideoRoleFlags(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredVideoRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for video tracks. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi @https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPrioritizeImageOverVideoEnabled(boolean)( isPrioritizeImageOverVideoEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Sets whether an image track would be selected over a video track if both are available. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setSelectTextByDefault(boolean)(selectTextByDefault: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether to prefer to select any text track by default. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setSelectUndeterminedTextLanguage(boolean)( selectUndeterminedTextLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Sets whether a text track with undetermined language should be selected if no track with `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguages(java.lang.String...)` is available, or if the preferred language is unset. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setTrackTypeDisabled(int,boolean)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType trackType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, disabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether a track type is disabled. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSize(int,int,boolean)( viewportWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, viewportHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, viewportOrientationMayChange: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(boolean)( viewportOrientationMayChange: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Sets whether the viewport size should be assumed to the physical display size if no other specific viewport size constraint is specified. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setViewportSizeToPhysicalDisplaySize](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(android.content.Context,boolean))( context: https://developer.android.com/reference/android/content/Context.html!, viewportOrientationMayChange: 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/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(boolean)` instead. <br /> |

| ### Protected functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.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/TrackSelectionParameters.Builder#set(androidx.media3.common.TrackSelectionParameters)(parameters: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters!)` Overrides the value of the builder with the value of `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters`. |

## Public constructors

### Builder

```
Builder()
```

Creates a builder with default initial values.

### Builder

```
@InlineMe(replacement = "this()")
[Builder](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#Builder(android.content.Context))(context: Context!)
```

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

## Protected constructors

### Builder

```
@UnstableApi
protected Builder(bundle: Bundle!)
```

Creates a builder with the initial values specified in `bundle`.

### Builder

```
@UnstableApi
protected Builder(initialValues: TrackSelectionParameters!)
```

Creates a builder with the initial values specified in `initialValues`.

## Public functions

### addOverride

```
@CanIgnoreReturnValue
fun addOverride(override: TrackSelectionOverride!): TrackSelectionParameters.Builder!
```

Adds an override, replacing any override for the same `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup`.

### build

```
fun build(): TrackSelectionParameters!
```

Builds a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` instance with the selected values.

### clearOverride

```
@CanIgnoreReturnValue
fun clearOverride(mediaTrackGroup: TrackGroup!): TrackSelectionParameters.Builder!
```

Removes the override for the provided media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup`, if there is one.

### clearOverrides

```
@CanIgnoreReturnValue
fun clearOverrides(): TrackSelectionParameters.Builder!
```

Removes all overrides.

### clearOverridesOfType

```
@CanIgnoreReturnValue
fun clearOverridesOfType(@C.TrackType trackType: Int): TrackSelectionParameters.Builder!
```

Removes all overrides of the provided track type.

### clearVideoSizeConstraints

```
@CanIgnoreReturnValue
fun clearVideoSizeConstraints(): TrackSelectionParameters.Builder!
```

Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### clearViewportSizeConstraints

```
@CanIgnoreReturnValue
fun clearViewportSizeConstraints(): TrackSelectionParameters.Builder!
```

Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSize(int,int,boolean)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setAudioOffloadPreferences

```
@UnstableApi
@CanIgnoreReturnValue
fun setAudioOffloadPreferences(
    audioOffloadPreferences: TrackSelectionParameters.AudioOffloadPreferences!
): TrackSelectionParameters.Builder!
```

Sets the audio offload mode preferences. This includes whether to enable/disable offload as well as to set requirements like if the device must support gapless transitions or speed change during offload.

### setDisabledTrackTypes

```
@CanIgnoreReturnValue
@UnstableApi
fun setDisabledTrackTypes(disabledTrackTypes: (Mutable)Set<@C.TrackType Int!>!): TrackSelectionParameters.Builder!
```

Sets the disabled track types, preventing all tracks of those types from being selected for playback. Any previously disabled track types are cleared.

| Parameters |
|---|---|
| `disabledTrackTypes: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>!` | The track types to disable. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setForceHighestSupportedBitrate

```
@CanIgnoreReturnValue
fun setForceHighestSupportedBitrate(forceHighestSupportedBitrate: Boolean): TrackSelectionParameters.Builder!
```

Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.

| Parameters |
|---|---|
| `forceHighestSupportedBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether to force selection of the highest bitrate audio and video tracks. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setForceLowestBitrate

```
@CanIgnoreReturnValue
fun setForceLowestBitrate(forceLowestBitrate: Boolean): TrackSelectionParameters.Builder!
```

Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.

| Parameters |
|---|---|
| `forceLowestBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether to force selection of the single lowest bitrate audio and video tracks. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setIgnoredTextSelectionFlags

```
@CanIgnoreReturnValue
fun setIgnoredTextSelectionFlags(
    @C.SelectionFlags ignoredTextSelectionFlags: Int
): TrackSelectionParameters.Builder!
```

Sets a bitmask of selection flags that are ignored for text track selections.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.SelectionFlags ignoredTextSelectionFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A bitmask of `https://developer.android.com/reference/kotlin/androidx/media3/common/C.SelectionFlags` that are ignored for text track selections. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxAudioBitrate

```
@CanIgnoreReturnValue
fun setMaxAudioBitrate(maxAudioBitrate: Int): TrackSelectionParameters.Builder!
```

Sets the maximum allowed audio bitrate.

| Parameters |
|---|---|
| `maxAudioBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed audio bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxAudioChannelCount

```
@CanIgnoreReturnValue
fun setMaxAudioChannelCount(maxAudioChannelCount: Int): TrackSelectionParameters.Builder!
```

Sets the maximum allowed audio channel count.

| Parameters |
|---|---|
| `maxAudioChannelCount: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed audio channel count. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxVideoBitrate

```
@CanIgnoreReturnValue
fun setMaxVideoBitrate(maxVideoBitrate: Int): TrackSelectionParameters.Builder!
```

Sets the maximum allowed video bitrate.

| Parameters |
|---|---|
| `maxVideoBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed video bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxVideoFrameRate

```
@CanIgnoreReturnValue
fun setMaxVideoFrameRate(maxVideoFrameRate: Int): TrackSelectionParameters.Builder!
```

Sets the maximum allowed video frame rate.

| Parameters |
|---|---|
| `maxVideoFrameRate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed video frame rate in hertz. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxVideoSize

```
@CanIgnoreReturnValue
fun setMaxVideoSize(maxVideoWidth: Int, maxVideoHeight: Int): TrackSelectionParameters.Builder!
```

Sets the maximum allowed video width and height.

| Parameters |
|---|---|
| `maxVideoWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed video width in pixels. |
| `maxVideoHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Maximum allowed video height in pixels. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMaxVideoSizeSd

```
@CanIgnoreReturnValue
fun setMaxVideoSizeSd(): TrackSelectionParameters.Builder!
```

Equivalent to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setMaxVideoSize(int,int)`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMinVideoBitrate

```
@CanIgnoreReturnValue
fun setMinVideoBitrate(minVideoBitrate: Int): TrackSelectionParameters.Builder!
```

Sets the minimum allowed video bitrate.

| Parameters |
|---|---|
| `minVideoBitrate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Minimum allowed video bitrate in bits per second. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMinVideoFrameRate

```
@CanIgnoreReturnValue
fun setMinVideoFrameRate(minVideoFrameRate: Int): TrackSelectionParameters.Builder!
```

Sets the minimum allowed video frame rate.

| Parameters |
|---|---|
| `minVideoFrameRate: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Minimum allowed video frame rate in hertz. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setMinVideoSize

```
@CanIgnoreReturnValue
fun setMinVideoSize(minVideoWidth: Int, minVideoHeight: Int): TrackSelectionParameters.Builder!
```

Sets the minimum allowed video width and height.

| Parameters |
|---|---|
| `minVideoWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Minimum allowed video width in pixels. |
| `minVideoHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Minimum allowed video height in pixels. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setOverrideForType

```
@CanIgnoreReturnValue
fun setOverrideForType(override: TrackSelectionOverride!): TrackSelectionParameters.Builder!
```

Sets an override, replacing all existing overrides with the same track type.

### setPreferredAudioLabels

```
@CanIgnoreReturnValue
fun setPreferredAudioLabels(preferredAudioLabels: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred labels for audio tracks.

| Parameters |
|---|---|
| `preferredAudioLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred audio labels in order of preference, or an empty array to express no label preference for audio track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredAudioLanguage

```
fun setPreferredAudioLanguage(preferredAudioLanguage: String?): TrackSelectionParameters.Builder!
```

Sets the preferred language for audio and forced text tracks.

| Parameters |
|---|---|
| `preferredAudioLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | Preferred audio language as an IETF BCP 47 conformant tag, or `null` to select the default track, or the first track if there's no default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredAudioLanguages

```
@CanIgnoreReturnValue
fun setPreferredAudioLanguages(preferredAudioLanguages: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred languages for audio and forced text tracks.

| Parameters |
|---|---|
| `preferredAudioLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred audio languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track, or the first track if there's no default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredAudioMimeType

```
fun setPreferredAudioMimeType(mimeType: String?): TrackSelectionParameters.Builder!
```

Sets the preferred sample MIME type for audio tracks.

| Parameters |
|---|---|
| `mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | The preferred MIME type for audio tracks, or `null` to clear a previously set preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredAudioMimeTypes

```
@CanIgnoreReturnValue
fun setPreferredAudioMimeTypes(mimeTypes: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred sample MIME types for audio tracks.

| Parameters |
|---|---|
| `mimeTypes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | The preferred MIME types for audio tracks in order of preference, or an empty list for no preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredAudioRoleFlags

```
@CanIgnoreReturnValue
fun setPreferredAudioRoleFlags(@C.RoleFlags preferredAudioRoleFlags: Int): TrackSelectionParameters.Builder!
```

Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for audio tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredAudioRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Preferred audio role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredTextLabels

```
@CanIgnoreReturnValue
fun setPreferredTextLabels(preferredTextLabels: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred labels for text tracks.

| Parameters |
|---|---|
| `preferredTextLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred text labels in order of preference, or an empty array to express no label preference for text track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredTextLanguage

```
fun setPreferredTextLanguage(preferredTextLanguage: String?): TrackSelectionParameters.Builder!
```

Sets the preferred language for text tracks.

| Parameters |
|---|---|
| `preferredTextLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | Preferred text language as an IETF BCP 47 conformant tag, or `null` to select the default track if there is one, or no track otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings

```
@CanIgnoreReturnValue
fun setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(): TrackSelectionParameters.Builder!
```

Sets whether the preferred languages and the preferred role flags for text tracks should be set according the `https://developer.android.com/reference/android/view/accessibility/CaptioningManager.html` preferences, if enabled in the system settings and no other explicit language or role flag preferences are specified.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings

```
@CanIgnoreReturnValue
fun [setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(android.content.Context))(
    context: Context!
): TrackSelectionParameters.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings()` instead.

### setPreferredTextLanguages

```
@CanIgnoreReturnValue
fun setPreferredTextLanguages(preferredTextLanguages: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred languages for text tracks.

| Parameters |
|---|---|
| `preferredTextLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred text languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track if there is one, or no track otherwise. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredTextRoleFlags

```
@CanIgnoreReturnValue
fun setPreferredTextRoleFlags(@C.RoleFlags preferredTextRoleFlags: Int): TrackSelectionParameters.Builder!
```

Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for text tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredTextRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Preferred text role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoLabels

```
@CanIgnoreReturnValue
fun setPreferredVideoLabels(preferredVideoLabels: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred labels for video tracks.

| Parameters |
|---|---|
| `preferredVideoLabels: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred video labels in order of preference, or an empty array to express no label preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoLanguage

```
@CanIgnoreReturnValue
fun setPreferredVideoLanguage(preferredVideoLanguage: String?): TrackSelectionParameters.Builder!
```

Sets the preferred language for video tracks.

| Parameters |
|---|---|
| `preferredVideoLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | Preferred video language as an IETF BCP 47 conformant tag, or `null` to express no language preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoLanguages

```
@CanIgnoreReturnValue
fun setPreferredVideoLanguages(preferredVideoLanguages: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred languages for video tracks.

| Parameters |
|---|---|
| `preferredVideoLanguages: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | Preferred video languages as IETF BCP 47 conformant tags in order of preference, or an empty array to express no language preference for video track selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoMimeType

```
fun setPreferredVideoMimeType(mimeType: String?): TrackSelectionParameters.Builder!
```

Sets the preferred sample MIME type for video tracks.

| Parameters |
|---|---|
| `mimeType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | The preferred MIME type for video tracks, or `null` to clear a previously set preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoMimeTypes

```
@CanIgnoreReturnValue
fun setPreferredVideoMimeTypes(mimeTypes: Array<String!>!): TrackSelectionParameters.Builder!
```

Sets the preferred sample MIME types for video tracks.

| Parameters |
|---|---|
| `mimeTypes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!` | The preferred MIME types for video tracks in order of preference, or an empty list for no preference. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPreferredVideoRoleFlags

```
@CanIgnoreReturnValue
fun setPreferredVideoRoleFlags(@C.RoleFlags preferredVideoRoleFlags: Int): TrackSelectionParameters.Builder!
```

Sets the preferred `https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags` for video tracks.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.RoleFlags preferredVideoRoleFlags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Preferred video role flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setPrioritizeImageOverVideoEnabled

```
@UnstableApi
@CanIgnoreReturnValue
fun setPrioritizeImageOverVideoEnabled(
    isPrioritizeImageOverVideoEnabled: Boolean
): TrackSelectionParameters.Builder!
```

Sets whether an image track would be selected over a video track if both are available.

| Parameters |
|---|---|
| `isPrioritizeImageOverVideoEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether an image track would be selected over a video track if both are available. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setSelectTextByDefault

```
@CanIgnoreReturnValue
fun setSelectTextByDefault(selectTextByDefault: Boolean): TrackSelectionParameters.Builder!
```

Sets whether to prefer to select any text track by default.

If `false`, text tracks are only selected if they match any of the other preference settings.

| Parameters |
|---|---|
| `selectTextByDefault: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether to prefer to select any text track by default. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setSelectUndeterminedTextLanguage

```
@CanIgnoreReturnValue
fun setSelectUndeterminedTextLanguage(
    selectUndeterminedTextLanguage: Boolean
): TrackSelectionParameters.Builder!
```

Sets whether a text track with undetermined language should be selected if no track with `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setPreferredTextLanguages(java.lang.String...)` is available, or if the preferred language is unset.

| Parameters |
|---|---|
| `selectUndeterminedTextLanguage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether a text track with undetermined language should be selected if no preferred language track is available. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setTrackTypeDisabled

```
@CanIgnoreReturnValue
fun setTrackTypeDisabled(@C.TrackType trackType: Int, disabled: Boolean): TrackSelectionParameters.Builder!
```

Sets whether a track type is disabled. If disabled, no tracks of the specified type will be selected for playback.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType trackType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The track type. |
| `disabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the track type should be disabled. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setViewportSize

```
@CanIgnoreReturnValue
fun setViewportSize(
    viewportWidth: Int,
    viewportHeight: Int,
    viewportOrientationMayChange: Boolean
): TrackSelectionParameters.Builder!
```

Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected.

| Parameters |
|---|---|
| `viewportWidth: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Viewport width in pixels. |
| `viewportHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Viewport height in pixels. |
| `viewportOrientationMayChange: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the viewport orientation may change during playback. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setViewportSizeToPhysicalDisplaySize

```
@CanIgnoreReturnValue
fun setViewportSizeToPhysicalDisplaySize(
    viewportOrientationMayChange: Boolean
): TrackSelectionParameters.Builder!
```

Sets whether the viewport size should be assumed to the physical display size if no other specific viewport size constraint is specified. Constrains video track selections for adaptive content so that only tracks suitable for the viewport are selected.

| Parameters |
|---|---|
| `viewportOrientationMayChange: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the viewport orientation may change during playback. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder!` | This builder. |

### setViewportSizeToPhysicalDisplaySize

```
@CanIgnoreReturnValue
fun [setViewportSizeToPhysicalDisplaySize](https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setViewportSizeToPhysicalDisplaySize(android.content.Context,boolean))(
    context: Context!,
    viewportOrientationMayChange: Boolean
): TrackSelectionParameters.Builder!
```

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

## Protected functions

### set

```
@CanIgnoreReturnValue
@UnstableApi
protected fun set(parameters: TrackSelectionParameters!): TrackSelectionParameters.Builder!
```

Overrides the value of the builder with the value of `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters`.