# LeanbackPlayerAdapter

# LeanbackPlayerAdapter

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/ui/leanback/LeanbackPlayerAdapter "View this page in Java")

<br />

```
@UnstableApi
class LeanbackPlayerAdapter : PlayerAdapter, Runnable
```

<br />

|---|---|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)                                                                          |||
| ↳ | [androidx.leanback.media.PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)                            ||
|   | ↳ | [androidx.media3.ui.leanback.LeanbackPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter) |

*** ** * ** ***

Leanback`PlayerAdapter`implementation for[Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player).

## Summary

|                                                                                                                                                                                                                                                          ### Public constructors                                                                                                                                                                                                                                                           |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [LeanbackPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#LeanbackPlayerAdapter(android.content.Context,androidx.media3.common.Player,int))`(` ` context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!,` ` player: `[Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player)`!,` ` updatePeriodMs: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Builds an instance. |

|                                ### Public functions                                 |
|-------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)       | [getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#getBufferedPosition())`()` Returns the current buffered position of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)       | [getCurrentPosition](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#getCurrentPosition())`()` Returns the current position of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)       | [getDuration](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#getDuration())`()` Returns the duration of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [isPlaying](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#isPlaying())`()` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [isPrepared](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#isPrepared())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [onAttachedToHost](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#onAttachedToHost(androidx.leanback.media.PlaybackGlueHost))`(host: `[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)`!)` This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost).                                                                                                                                                                                               |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [onDetachedFromHost](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#onDetachedFromHost())`()` This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is destroyed.                                                                                                |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [pause](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#pause())`()` Pauses the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [play](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#play())`()` Starts the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [run](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#run())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [seekTo](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#seekTo(long))`(positionInMs: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Seek to new position.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [setErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#setErrorMessageProvider(androidx.media3.common.ErrorMessageProvider<? super androidx.media3.common.PlaybackException>))`(` ` errorMessageProvider: `[ErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider)`<`[PlaybackException](https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException)`!>?` `)` Sets the optional[ErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider). |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [setProgressUpdatingEnabled](https://developer.android.com/reference/kotlin/androidx/media3/ui/leanback/LeanbackPlayerAdapter#setProgressUpdatingEnabled(boolean))`(enable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Implement this method to enable or disable progress updating.                                                                                                                                                                                                                                                                                                                              |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ### Inherited functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[androidx.leanback.media.PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) |----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [fastForward](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#fastForward())`()` Optional method.                                                                                                                                                                                                            | | [PlayerAdapter.Callback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback)`?` | [getCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getCallback())`()` Gets callback for event of PlayerAdapter.                                                                                                                                                                                   | | [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)                                              | [getSupportedActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getSupportedActions())`()` Return xor combination of values defined in PlaybackBaseControlGlue.                                                                                                                                        | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [next](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#next())`()` Optional method.                                                                                                                                                                                                                          | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [previous](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#previous())`()` Optional method.                                                                                                                                                                                                                  | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [rewind](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#rewind())`()` Optional method.                                                                                                                                                                                                                      | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [setCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#setCallback(androidx.leanback.media.PlayerAdapter.Callback))`(callback: `[PlayerAdapter.Callback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback)`?)` Sets callback for event of PlayerAdapter. | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [setRepeatAction](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#setRepeatAction(int))`(repeatActionIndex: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Optional method.                                                                                                 | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                              | [setShuffleAction](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#setShuffleAction(int))`(shuffleActionIndex: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Optional method.                                                                                              | |

## Public constructors

### LeanbackPlayerAdapter

```
LeanbackPlayerAdapter(
    context: Context!,
    player: Player!,
    updatePeriodMs: Int
)
```

Builds an instance. Note that the`PlayerAdapter`does not manage the lifecycle of the[Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player)instance. The caller remains responsible for releasing the player when it's no longer required.  

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!`       | The current[Context](https://developer.android.com/reference/android/content/Context.html)(activity). |
| `player: `[Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player)`!` | The[Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player)being used.  |
| `updatePeriodMs: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)       | The delay between player control updates, in milliseconds.                                            |

## Public functions

### getBufferedPosition

```
fun getBufferedPosition(): Long
```

Returns the current buffered position of the media item in milliseconds.  

### getCurrentPosition

```
fun getCurrentPosition(): Long
```

Returns the current position of the media item in milliseconds.  

### getDuration

```
fun getDuration(): Long
```

Returns the duration of the media item in milliseconds.  

### isPlaying

```
fun isPlaying(): Boolean
```

Returns true if media is currently playing.  

### isPrepared

```
fun isPrepared(): Boolean
```  

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True if media is ready for playback, false otherwise. |

### onAttachedToHost

```
fun onAttachedToHost(host: PlaybackGlueHost!): Unit
```

This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost).  

|                                                       Parameters                                                       |
|------------------------------------------------------------------------------------------------------------------------|---|
| `host: `[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)`!` |   |

### onDetachedFromHost

```
fun onDetachedFromHost(): Unit
```

This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is destroyed. Subclass may override. A typical implementation will release resources (e.g. MediaPlayer or connection to playback service) in this method.  

### pause

```
fun pause(): Unit
```

Pauses the media player.  

### play

```
fun play(): Unit
```

Starts the media player.  

### run

```
fun run(): Unit
```  

### seekTo

```
fun seekTo(positionInMs: Long): Unit
```

Seek to new position.  

|                                          Parameters                                           |
|-----------------------------------------------------------------------------------------------|-------------------------------|
| `positionInMs: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | New position in milliseconds. |

### setErrorMessageProvider

```
fun setErrorMessageProvider(
    errorMessageProvider: ErrorMessageProvider<PlaybackException!>?
): Unit
```

Sets the optional[ErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider).  

|                                                                                                                           Parameters                                                                                                                           |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
| `errorMessageProvider: `[ErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider)`<`[PlaybackException](https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException)`!>?` | The[ErrorMessageProvider](https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider). |

### setProgressUpdatingEnabled

```
fun setProgressUpdatingEnabled(enable: Boolean): Unit
```

Implement this method to enable or disable progress updating.  

|                                          Parameters                                           |
|-----------------------------------------------------------------------------------------------|----------------------------------------------------|
| `enable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True to enable progress updating, false otherwise. |