# TrackSelectionParametersState

Artifact: [androidx.media3:media3-ui-compose](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/ui/compose/state/TrackSelectionParametersState.kt+class:androidx.media3.ui.compose.state.TrackSelectionParametersState)


```
@UnstableApi
class TrackSelectionParametersState
```

<br />

*** ** * ** ***

A state holder that exposes the current `https://developer.android.com/reference/kotlin/androidx/media3/common/Tracks` and `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` of a `https://developer.android.com/reference/kotlin/androidx/media3/common/Player` as Compose state.

This state is suitable for advanced use cases where direct access to the player's track information and parameters is needed, without any additional UI abstraction.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#TrackSelectionParametersState(androidx.media3.common.Player)(player: https://developer.android.com/reference/kotlin/androidx/media3/common/Player?)` |

| ### Public functions |
|---|---|
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-nothing/index.html?` | `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#observe()()` Subscribes to updates from `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` and listens to `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACKS_CHANGED()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACK_SELECTION_PARAMETERS_CHANGED()`, and `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_AVAILABLE_COMMANDS_CHANGED()` to update the state properties. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#updateTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters)(params: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters)` Applies new track selection parameters to the player. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#canSetTrackSelectionParameters()` Whether `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_TRACK_SELECTION_PARAMETERS()` is available on the player. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` | `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#trackSelectionParameters()` The current `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` acting on the player. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/Tracks` | `https://developer.android.com/reference/kotlin/androidx/media3/ui/compose/state/TrackSelectionParametersState#tracks()` The current `https://developer.android.com/reference/kotlin/androidx/media3/common/Tracks` available in the player. |

## Public constructors

### TrackSelectionParametersState

```
TrackSelectionParametersState(player: Player?)
```

## Public functions

### observe

```
suspend fun observe(): Nothing?
```

Subscribes to updates from `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` and listens to `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACKS_CHANGED()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACK_SELECTION_PARAMETERS_CHANGED()`, and `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_AVAILABLE_COMMANDS_CHANGED()` to update the state properties.

This is a suspending function that runs indefinitely until cancelled.

### updateTrackSelectionParameters

```
fun updateTrackSelectionParameters(params: TrackSelectionParameters): Unit
```

Applies new track selection parameters to the player.

| Parameters |
|---|---|
| `params: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` | The new `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` to apply. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getTrackSelectionParameters()` |   |

## Public properties

### canSetTrackSelectionParameters

```
val canSetTrackSelectionParameters: Boolean
```

Whether `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_TRACK_SELECTION_PARAMETERS()` is available on the player.

### trackSelectionParameters

```
val trackSelectionParameters: TrackSelectionParameters
```

The current `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters` acting on the player.

### tracks

```
val tracks: Tracks
```

The current `https://developer.android.com/reference/kotlin/androidx/media3/common/Tracks` available in the player.