# PlayerAdapter.Callback

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#)  

# PlayerAdapter.Callback

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public
static


class
PlayerAdapter.Callback
`  
`

extends Object


``


`

|---|-----------------------------------------------------------|
| java.lang.Object                                             ||
| ↳ | android.support.v17.leanback.media.PlayerAdapter.Callback |

<br />

*** ** * ** ***

Client for client of PlayerAdapter.

## Summary

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

|                                                                                                                                                                                                                                           ### Public methods                                                                                                                                                                                                                                            ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[onBufferedPositionChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onBufferedPositionChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Event for[getBufferedPosition()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getBufferedPosition())changed. |
| ` void` | ` `[onBufferingStateChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onBufferingStateChanged(android.support.v17.leanback.media.PlayerAdapter, boolean))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter, boolean start) ` Event for buffering start or stop.                                                                                                   |
| ` void` | ` `[onCurrentPositionChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onCurrentPositionChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Event for[getCurrentPosition()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getCurrentPosition())changed.     |
| ` void` | ` `[onDurationChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onDurationChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Event for[getDuration()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getDuration())changed.                                 |
| ` void` | ` `[onError](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onError(android.support.v17.leanback.media.PlayerAdapter, int, java.lang.String))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter, int errorCode, String errorMessage) ` Event for error.                                                                                                                  |
| ` void` | ` `[onMetadataChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onMetadataChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Event for meta data changed.                                                                                                                                             |
| ` void` | ` `[onPlayCompleted](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onPlayCompleted(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Client when the current media is finished.                                                                                                                                   |
| ` void` | ` `[onPlayStateChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onPlayStateChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Client for Play/Pause state change.                                                                                                                                    |
| ` void` | ` `[onPreparedStateChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onPreparedStateChanged(android.support.v17.leanback.media.PlayerAdapter))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter) ` Client for[isPrepared()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#isPrepared())changed.                        |
| ` void` | ` `[onVideoSizeChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#onVideoSizeChanged(android.support.v17.leanback.media.PlayerAdapter, int, int))`(`[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)` adapter, int width, int height) ` Event for video size changed.                                                                                                         |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### PlayerAdapter.Callback

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
PlayerAdapter.Callback ()
```

<br />

<br />

## Public methods

### onBufferedPositionChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onBufferedPositionChanged (PlayerAdapter adapter)
```

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

<br />

|                                                                                             Parameters                                                                                              ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter whose[getBufferedPosition()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getBufferedPosition())changed. <br /> |

### onBufferingStateChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onBufferingStateChanged (PlayerAdapter adapter, 
                boolean start)
```

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

<br />

|                                         Parameters                                          ||
|-----------|----------------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter that begins buffering or finishes buffering. <br /> |
| `start`   | `boolean`: True for buffering start, false otherwise. <br />                     |

### onCurrentPositionChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onCurrentPositionChanged (PlayerAdapter adapter)
```

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

<br />

|                                                                                            Parameters                                                                                             ||
|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter whose[getCurrentPosition()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getCurrentPosition())changed. <br /> |

### onDurationChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onDurationChanged (PlayerAdapter adapter)
```

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

<br />

|                                                                                     Parameters                                                                                      ||
|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter whose[getDuration()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getDuration())changed. <br /> |

### onError

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onError (PlayerAdapter adapter, 
                int errorCode, 
                String errorMessage)
```

Event for error.

<br />

|                                      Parameters                                      ||
|----------------|----------------------------------------------------------------------|
| `adapter`      | `PlayerAdapter`: The adapter that encounters error. <br />           |
| `errorCode`    | `int`: Optional error code, specific to implementation. <br />       |
| `errorMessage` | `String`: Optional error message, specific to implementation. <br /> |

### onMetadataChanged

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onMetadataChanged (PlayerAdapter adapter)
```

Event for meta data changed.

<br />

|                                    Parameters                                    ||
|-----------|-----------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter that finishes current media item. <br /> |

### onPlayCompleted

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPlayCompleted (PlayerAdapter adapter)
```

Client when the current media is finished.

<br />

|                                      Parameters                                      ||
|-----------|---------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter that has just finished current media. <br /> |

### onPlayStateChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPlayStateChanged (PlayerAdapter adapter)
```

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

<br />

|            Parameters             ||
|-----------|------------------------|
| `adapter` | `PlayerAdapter` <br /> |

### onPreparedStateChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPreparedStateChanged (PlayerAdapter adapter)
```

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

<br />

|                                  Parameters                                  ||
|-----------|-------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter that has changed ready state. <br /> |

### onVideoSizeChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onVideoSizeChanged (PlayerAdapter adapter, 
                int width, 
                int height)
```

Event for video size changed.

<br />

|                                          Parameters                                           ||
|-----------|------------------------------------------------------------------------------------|
| `adapter` | `PlayerAdapter`: The adapter whose video size has been detected or changed. <br /> |
| `width`   | `int`: Intrinsic width of the video. <br />                                        |
| `height`  | `int`: Intrinsic height of the video. <br />                                       |

-

  ## Interfaces

  - [SurfaceHolderGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/SurfaceHolderGlueHost)
-

  ## Classes

  - [MediaControllerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerAdapter)
  - [MediaControllerGlue](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerGlue)
  - [MediaPlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaPlayerAdapter)
  - [PlaybackBannerControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBannerControlGlue)
  - [PlaybackBaseControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue)
  - [PlaybackControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue)
  - [PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)
  - [PlaybackGlue.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue.PlayerCallback)
  - [PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)
  - [PlaybackGlueHost.HostCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost.HostCallback)
  - [PlaybackGlueHost.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost.PlayerCallback)
  - [PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)
  - [PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)
  - [PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback)