# PlayerAdapter.Callback

# PlayerAdapter.Callback

Artifact:[androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback)  
[View Source](https://cs.android.com/search?q=file:androidx/leanback/media/PlayerAdapter.java+class:androidx.leanback.media.PlayerAdapter.Callback)  
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/PlayerAdapter.Callback "View this page in Java")

<br />

```
class PlayerAdapter.Callback
```

<br />

*** ** * ** ***

Client for client of PlayerAdapter.

## Summary

|                                                 ### Public constructors                                                  |
|--------------------------------------------------------------------------------------------------------------------------|
| [Callback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#Callback())`()` |

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onBufferedPositionChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onBufferedPositionChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Event for[getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getBufferedPosition())changed.                                                   |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onBufferingStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onBufferingStateChanged(androidx.leanback.media.PlayerAdapter,boolean))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`, start: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Event for buffering start or stop.                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onCurrentPositionChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onCurrentPositionChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Event for[getCurrentPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getCurrentPosition())changed.                                                       |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onDurationChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onDurationChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Event for[getDuration](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getDuration())changed.                                                                                   |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onError](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onError(androidx.leanback.media.PlayerAdapter,int,java.lang.String))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`, errorCode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, errorMessage: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?)` Event for error.      |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onMetadataChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onMetadataChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Event for meta data changed.                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onPlayCompleted](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onPlayCompleted(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Client when the current media is finished.                                                                                                                                                                               |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onPlayStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onPlayStateChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Client for Play/Pause state change.                                                                                                                                                                                |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onPreparedStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onPreparedStateChanged(androidx.leanback.media.PlayerAdapter))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`)` Client for[isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#isPrepared())changed.                                                                          |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onVideoSizeChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter.Callback#onVideoSizeChanged(androidx.leanback.media.PlayerAdapter,int,int))`(adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`, width: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, height: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Event for video size changed. |

## Public constructors

### Callback

Added in 1.1.0  

```
Callback()
```  

## Public functions

### onBufferedPositionChanged

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

```
fun onBufferedPositionChanged(adapter: PlayerAdapter): Unit
```

Event for[getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getBufferedPosition())changed.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter whose[getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getBufferedPosition())changed. |

### onBufferingStateChanged

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

```
fun onBufferingStateChanged(adapter: PlayerAdapter, start: Boolean): Unit
```

Event for buffering start or stop. Initial default value is false.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter that begins buffering or finishes buffering. |
| `start: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                     | True for buffering start, false otherwise.               |

### onCurrentPositionChanged

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

```
fun onCurrentPositionChanged(adapter: PlayerAdapter): Unit
```

Event for[getCurrentPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getCurrentPosition())changed.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter whose[getCurrentPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getCurrentPosition())changed. |

### onDurationChanged

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

```
fun onDurationChanged(adapter: PlayerAdapter): Unit
```

Event for[getDuration](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getDuration())changed. Usually the duration does not change after playing except for live stream.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter whose[getDuration](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#getDuration())changed. |

### onError

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

```
fun onError(adapter: PlayerAdapter, errorCode: Int, errorMessage: String?): Unit
```

Event for error.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter that encounters error.                  |
| `errorCode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                         | Optional error code, specific to implementation.    |
| `errorMessage: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?`             | Optional error message, specific to implementation. |

### onMetadataChanged

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

```
fun onMetadataChanged(adapter: PlayerAdapter): Unit
```

Event for meta data changed.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter that finishes current media item. |

### onPlayCompleted

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

```
fun onPlayCompleted(adapter: PlayerAdapter): Unit
```

Client when the current media is finished.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter that has just finished current media. |

### onPlayStateChanged

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

```
fun onPlayStateChanged(adapter: PlayerAdapter): Unit
```

Client for Play/Pause state change. See[isPlaying](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#isPlaying()).  

### onPreparedStateChanged

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

```
fun onPreparedStateChanged(adapter: PlayerAdapter): Unit
```

Client for[isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter#isPrepared())changed.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|-------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter that has changed ready state. |

### onVideoSizeChanged

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

```
fun onVideoSizeChanged(adapter: PlayerAdapter, width: Int, height: Int): Unit
```

Event for video size changed.  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|
| `adapter: `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter) | The adapter whose video size has been detected or changed. |
| `width: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                             | Intrinsic width of the video.                              |
| `height: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                            | Intrinsic height of the video.                             |