# TrackSelectionOverride

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

*** ** * ** ***

<br />

```
class TrackSelectionOverride
```

<br />

*** ** * ** ***

A track selection override, consisting of a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` and the indices of the tracks within the group that should be selected.

A track selection override is applied during playback if the media being played contains a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` equal to the one in the override. If a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` contains only one override of a given track type that applies to the media, this override will be used to control the track selection for that type. If multiple overrides of a given track type apply then the player will apply only one of them.

If `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#trackIndices()` is empty then the override specifies that no tracks should be selected. Adding an empty override to a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` is similar to `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters.Builder#setTrackTypeDisabled(int,boolean)`, except that an empty override will only be applied if the media being played contains a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` equal to the one in the override. Conversely, disabling a track type will prevent selection of tracks of that type for all media.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#TrackSelectionOverride(androidx.media3.common.TrackGroup,int)(mediaTrackGroup: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!, trackIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Constructs an instance to force `trackIndex` in `trackGroup` to be selected. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#TrackSelectionOverride(androidx.media3.common.TrackGroup,java.util.List<java.lang.Integer>)( mediaTrackGroup: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!, trackIndices: (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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>! )` Constructs an instance to force `trackIndices` in `trackGroup` to be selected. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#equals(java.lang.Object)(obj: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#fromBundle(android.os.Bundle)(bundle: https://developer.android.com/reference/android/os/Bundle.html!)` Restores a `TrackSelectionOverride` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#getType()()` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType` of the overridden track group. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#toBundle()()` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#mediaTrackGroup()` The media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` whose `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#trackIndices()` are forced to be selected. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#trackIndices()` The indices of tracks in a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` to be selected. |

## Public constructors

### TrackSelectionOverride

```
TrackSelectionOverride(mediaTrackGroup: TrackGroup!, trackIndex: Int)
```

Constructs an instance to force `trackIndex` in `trackGroup` to be selected.

| Parameters |
|---|---|
| `mediaTrackGroup: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!` | The media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` for which to override the track selection. |
| `trackIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The index of the track in the `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` to select. |

### TrackSelectionOverride

```
TrackSelectionOverride(
    mediaTrackGroup: TrackGroup!,
    trackIndices: (Mutable)List<Int!>!
)
```

Constructs an instance to force `trackIndices` in `trackGroup` to be selected.

| Parameters |
|---|---|
| `mediaTrackGroup: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup!` | The media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` for which to override the track selection. |
| `trackIndices: (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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html!>!` | The indices of the tracks in the `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` to select. |

## Public functions

### equals

```
fun equals(obj: Any?): Boolean
```

### fromBundle

```
@UnstableApi
java-static fun fromBundle(bundle: Bundle!): TrackSelectionOverride!
```

Restores a `TrackSelectionOverride` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### getType

```
@C.TrackType
fun getType(): Int
```

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType` of the overridden track group.

### hashCode

```
fun hashCode(): Int
```

### toBundle

```
@UnstableApi
fun toBundle(): Bundle!
```

## Public properties

### mediaTrackGroup

```
val mediaTrackGroup: TrackGroup!
```

The media `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` whose `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionOverride#trackIndices()` are forced to be selected.

### trackIndices

```
val trackIndices: ImmutableList<Int!>!
```

The indices of tracks in a `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup` to be selected.