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

*** ** * ** ***


```
public class PlayerAdapter.Callback
```

<br />

*** ** * ** ***

Client for client of PlayerAdapter.

## Summary

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

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

## Public constructors

### Callback

Added in 1.1.0

```
public Callback()
```

## Public methods

### onBufferedPositionChanged

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

```
public void onBufferedPositionChanged(@NonNull PlayerAdapter adapter)
```

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

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter whose `https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter#getBufferedPosition()` changed. |

### onBufferingStateChanged

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

```
public void onBufferingStateChanged(@NonNull PlayerAdapter adapter, boolean start)
```

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

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter that begins buffering or finishes buffering. |
| `boolean start` | True for buffering start, false otherwise. |

### onCurrentPositionChanged

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

```
public void onCurrentPositionChanged(@NonNull PlayerAdapter adapter)
```

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

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter whose `https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter#getCurrentPosition()` changed. |

### onDurationChanged

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

```
public void onDurationChanged(@NonNull PlayerAdapter adapter)
```

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

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter whose `https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter#getDuration()` changed. |

### onError

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

```
public void onError(
    @NonNull PlayerAdapter adapter,
    int errorCode,
    @Nullable String errorMessage
)
```

Event for error.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter that encounters error. |
| `int errorCode` | Optional error code, specific to implementation. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html errorMessage` | Optional error message, specific to implementation. |

### onMetadataChanged

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

```
public void onMetadataChanged(@NonNull PlayerAdapter adapter)
```

Event for meta data changed.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter that finishes current media item. |

### onPlayCompleted

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

```
public void onPlayCompleted(@NonNull PlayerAdapter adapter)
```

Client when the current media is finished.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | 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)

```
public void onPlayStateChanged(@NonNull PlayerAdapter adapter)
```

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

### onPreparedStateChanged

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

```
public void onPreparedStateChanged(@NonNull PlayerAdapter adapter)
```

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

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter that has changed ready state. |

### onVideoSizeChanged

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

```
public void onVideoSizeChanged(@NonNull PlayerAdapter adapter, int width, int height)
```

Event for video size changed.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter adapter` | The adapter whose video size has been detected or changed. |
| `int width` | Intrinsic width of the video. |
| `int height` | Intrinsic height of the video. |