# MediaPlayerAdapter

# MediaPlayerAdapter

Artifact:[androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback)  
[View Source](https://cs.android.com/search?q=file:androidx/leanback/media/MediaPlayerAdapter.java+class:androidx.leanback.media.MediaPlayerAdapter)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***

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

<br />

```
class MediaPlayerAdapter : PlayerAdapter
```

<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.leanback.media.MediaPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter) |

*** ** * ** ***

This implementation extends the[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)with a[MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html).

## Summary

|                                                                                                                         ### Public constructors                                                                                                                         |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MediaPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#MediaPlayerAdapter(android.content.Context))`(context: `[Context](https://developer.android.com/reference/android/content/Context.html)`!)` Constructor. |

|                                   ### Public functions                                   |
|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)            | [getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#getDuration())`()` Returns the duration of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                       |
| [MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html)`!` | [getMediaPlayer](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#getMediaPlayer())`()` Return the MediaPlayer associated with the MediaPlayerAdapter.                                                                                                                                                                                                                                                                                                                                                          |
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)              | [getProgressUpdatingInterval](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#getProgressUpdatingInterval())`()` Return updating interval of progress UI in milliseconds.                                                                                                                                                                                                                                                                                                                                      |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)      | [isPlaying](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#isPrepared())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)            | [onAttachedToHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#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/leanback/media/MediaPlayerAdapter#play())`()` Starts the media player.                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)            | [release](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#release())`()` Release internal MediaPlayer.                                                                                                                                                                                                                                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)            | [reset](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#reset())`()` Will reset the[MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html)and the glue such that a new file can be played.                                                                                                                                                                                                                                                                                       |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)            | [seekTo](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#seekTo(long))`(positionInMs: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Seek to new position.                                                                                                                                                                                                                                                                                                                  |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)      | [setDataSource](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#setDataSource(android.net.Uri))`(uri: `[Uri](https://developer.android.com/reference/android/net/Uri.html)`!)` Sets the media source of the player witha given URI.                                                                                                                                                                                                                                                                            |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)            | [setProgressUpdatingEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#setProgressUpdatingEnabled(boolean))`(enable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Implement this method to enable or disable progress updating.                                                                                                                                                                                                                               |

|                               ### Protected functions                               |
|-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [onError](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#onError(int,int))`(what: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, extra: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Called to indicate an error.           |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [onInfo](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#onInfo(int,int))`(what: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, extra: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Called to indicate an info or a warning. |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)       | [onSeekComplete](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter#onSeekComplete())`()` Called to indicate the completion of a seek operation.                                                                                                                                                   |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ### 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

### MediaPlayerAdapter

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
MediaPlayerAdapter(context: Context!)
```

Constructor.  

## 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.  

### getMediaPlayer

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getMediaPlayer(): MediaPlayer!
```

Return the MediaPlayer associated with the MediaPlayerAdapter. App can use the instance to config DRM or control volumes, etc. Warning: App should not use the following seven listeners as they are controlled by MediaPlayerAdapter. If that's the case, app should write its own PlayerAdapter class.[setOnPreparedListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener))[setOnVideoSizeChangedListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener))[setOnErrorListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnErrorListener(android.media.MediaPlayer.OnErrorListener))[setOnSeekCompleteListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener))[setOnCompletionListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener))[setOnInfoListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnInfoListener(android.media.MediaPlayer.OnInfoListener))[setOnBufferingUpdateListener](https://developer.android.com/reference/android/media/MediaPlayer.html#setOnBufferingUpdateListener(android.media.MediaPlayer.OnBufferingUpdateListener))  

|                                         Returns                                          |
|------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html)`!` | The MediaPlayer associated with the MediaPlayerAdapter. |

### getProgressUpdatingInterval

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getProgressUpdatingInterval(): Int
```

Return updating interval of progress UI in milliseconds. Subclass may override.  

|                                   Returns                                   |
|-----------------------------------------------------------------------------|-------------------------------------------------|
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | Update interval of progress UI 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 MediaPlayer OnPreparedListener is invoked and got a SurfaceHolder if[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)provides SurfaceHolder. |

### 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.  

### release

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun release(): Unit
```

Release internal MediaPlayer. Should not use the object after call release().  

### reset

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun reset(): Unit
```

Will reset the[MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html)and the glue such that a new file can be played. You are not required to call this method before playing the first file. However you have to call it before playing a second one.  

### 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. |

### setDataSource

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setDataSource(uri: Uri!): Boolean
```

Sets the media source of the player witha given URI.  

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|--------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Returns`true`if uri represents a new media;`false`otherwise. |

|                                                        See also                                                         |
|-------------------------------------------------------------------------------------------------------------------------|---|
| [setDataSource](https://developer.android.com/reference/android/media/MediaPlayer.html#setDataSource(java.lang.String)) |   |

### 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. |

## Protected functions

### onError

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onError(what: Int, extra: Int): Boolean
```

Called to indicate an error.  

|                                      Parameters                                      |
|--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `what: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)  | the type of error that has occurred: - [MEDIA_ERROR_UNKNOWN](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_UNKNOWN()) - [MEDIA_ERROR_SERVER_DIED](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_SERVER_DIED())                                                                                                                                                                                                                                                                                                                                              |
| `extra: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | an extra code, specific to the error. Typically implementation dependent. - [MEDIA_ERROR_IO](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_IO()) - [MEDIA_ERROR_MALFORMED](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_MALFORMED()) - [MEDIA_ERROR_UNSUPPORTED](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_UNSUPPORTED()) - [MEDIA_ERROR_TIMED_OUT](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_TIMED_OUT()) - `MEDIA_ERROR_SYSTEM (-2147483648)`- low-level system error. |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True if the method handled the error, false if it didn't. Returning false, will cause the[onPlayCompleted](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onPlayCompleted(androidx.leanback.media.PlayerAdapter))being called. |

### onInfo

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onInfo(what: Int, extra: Int): Boolean
```

Called to indicate an info or a warning.  

|                                      Parameters                                      |
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `what: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)  | the type of info or warning. - [MEDIA_INFO_UNKNOWN](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_UNKNOWN()) - [MEDIA_INFO_VIDEO_TRACK_LAGGING](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_VIDEO_TRACK_LAGGING()) - [MEDIA_INFO_VIDEO_RENDERING_START](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_VIDEO_RENDERING_START()) - [MEDIA_INFO_BUFFERING_START](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_BUFFERING_START()) - [MEDIA_INFO_BUFFERING_END](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_BUFFERING_END()) - `MEDIA_INFO_NETWORK_BANDWIDTH (703)`- bandwidth information is available (as`extra`kbps) - [MEDIA_INFO_BAD_INTERLEAVING](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_BAD_INTERLEAVING()) - [MEDIA_INFO_NOT_SEEKABLE](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_NOT_SEEKABLE()) - [MEDIA_INFO_METADATA_UPDATE](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_METADATA_UPDATE()) - [MEDIA_INFO_UNSUPPORTED_SUBTITLE](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_UNSUPPORTED_SUBTITLE()) - [MEDIA_INFO_SUBTITLE_TIMED_OUT](https://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_INFO_SUBTITLE_TIMED_OUT()) |
| `extra: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | an extra code, specific to the info. Typically implementation dependent.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True if the method handled the info, false if it didn't. Returning false, will cause the info to be discarded. |

### onSeekComplete

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onSeekComplete(): Unit
```

Called to indicate the completion of a seek operation.