# PlayerAdapter

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:[Nested Classes](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#nestedclasses)\|[Ctors](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#)  

# PlayerAdapter

| 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


abstract
class
PlayerAdapter
`  
`

extends Object


``


`

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

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#)Known Direct Subclasses [MediaControllerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerAdapter),[MediaPlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaPlayerAdapter) |-----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [MediaControllerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerAdapter) | A helper class for implementing a adapter layer for[MediaControllerCompat](https://developer.android.com/reference/android/support/v4/media/session/MediaControllerCompat).                                                          | | [MediaPlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaPlayerAdapter)         | This implementation extends the[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)with a[MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html). | |

<br />

*** ** * ** ***

Base class that wraps underlying media player. The class is used by PlaybackGlue, for example[PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)is bound to a PlayerAdapter. This class is intended to be subclassed,[MediaPlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaPlayerAdapter)is a concrete subclass using[MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html).

## Summary

|                                                                            ### Nested classes                                                                             ||
|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback) Client for client of PlayerAdapter. |

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

|                                                                                                                                                                                                                                                                                                                                              ### Public methods                                                                                                                                                                                                                                                                                                                                               ||
|--------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void`                                                                                                                              | ` `[fastForward](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#fastForward())`() ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ` long`                                                                                                                              | ` `[getBufferedPosition](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getBufferedPosition())`() ` Returns the current buffered position of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                  |
| ` final `[PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback) | ` `[getCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getCallback())`() ` Gets callback for event of PlayerAdapter.                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` long`                                                                                                                              | ` `[getCurrentPosition](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getCurrentPosition())`() ` Returns the current position of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                             |
| ` long`                                                                                                                              | ` `[getDuration](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getDuration())`() ` Returns the duration of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                   |
| ` long`                                                                                                                              | ` `[getSupportedActions](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())`() ` Return xor combination of values defined in PlaybackBaseControlGlue.                                                                                                                                                                                                                                                                                                                                                      |
| ` boolean`                                                                                                                           | ` `[isPlaying](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#isPlaying())`() ` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                                                                                                                   |
| ` boolean`                                                                                                                           | ` `[isPrepared](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#isPrepared())`() `                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ` void`                                                                                                                              | ` `[next](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#next())`() ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ` void`                                                                                                                              | ` `[onAttachedToHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost))`(`[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)` host) ` This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost).                                                                                           |
| ` void`                                                                                                                              | ` `[onDetachedFromHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#onDetachedFromHost())`() ` This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is destroyed. |
| ` abstract void`                                                                                                                     | ` `[pause](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#pause())`() ` Pauses the media player.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ` abstract void`                                                                                                                     | ` `[play](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#play())`() ` Starts the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ` void`                                                                                                                              | ` `[previous](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#previous())`() ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ` void`                                                                                                                              | ` `[rewind](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#rewind())`() ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ` void`                                                                                                                              | ` `[seekTo](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#seekTo(long))`(long positionInMs) ` Seek to new position.                                                                                                                                                                                                                                                                                                                                                                                                          |
| ` final void`                                                                                                                        | ` `[setCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#setCallback(android.support.v17.leanback.media.PlayerAdapter.Callback))`(`[PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback)` callback) ` Sets callback for event of PlayerAdapter.                                                                                                                                                                                                  |
| ` void`                                                                                                                              | ` `[setProgressUpdatingEnabled](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#setProgressUpdatingEnabled(boolean))`(boolean enable) ` Implement this method to enable or disable progress updating.                                                                                                                                                                                                                                                                                                                          |
| ` void`                                                                                                                              | ` `[setRepeatAction](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#setRepeatAction(int))`(int repeatActionIndex) ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                          |
| ` void`                                                                                                                              | ` `[setShuffleAction](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#setShuffleAction(int))`(int shuffleActionIndex) ` Optional method.                                                                                                                                                                                                                                                                                                                                                                                       |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#)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

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

```
PlayerAdapter ()
```

<br />

<br />

## Public methods

### fastForward

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

```
void fastForward ()
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_FAST_FORWARD](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_FAST_FORWARD)to fast forward current media item.

<br />

### getBufferedPosition

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

```
long getBufferedPosition ()
```

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

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### getCallback

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

```
PlayerAdapter.Callback getCallback ()
```

Gets callback for event of PlayerAdapter.

<br />

|                                                                                Returns                                                                                 ||
|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|
| [PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback) | Client for event of PlayerAdapter. <br /> |

### getCurrentPosition

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

```
long getCurrentPosition ()
```

Returns the current position of the media item in milliseconds.

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### getDuration

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

```
long getDuration ()
```

Returns the duration of the media item in milliseconds.

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### getSupportedActions

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

```
long getSupportedActions ()
```

Return xor combination of values defined in PlaybackBaseControlGlue. Default is PLAY_PAUSE (unless subclass enforce to be 0)

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### isPlaying

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

```
boolean isPlaying ()
```

Returns true if media is currently playing.

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### isPrepared

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

```
boolean isPrepared ()
```

<br />

<br />

|                                 Returns                                 ||
|-----------|--------------------------------------------------------------|
| `boolean` | True if media is ready for playback, false otherwise. <br /> |

### next

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

```
void next ()
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_NEXT)to skip to next item.

<br />

### onAttachedToHost

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

```
void onAttachedToHost (PlaybackGlueHost host)
```

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

<br />

### onDetachedFromHost

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

```
void onDetachedFromHost ()
```

This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/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.

<br />

### pause

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

```
void pause ()
```

Pauses the media player.

<br />

### play

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

```
void play ()
```

Starts the media player.

<br />

### previous

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

```
void previous ()
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_SKIP_TO_PREVIOUS](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_PREVIOUS)to skip to previous item.

<br />

### rewind

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

```
void rewind ()
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_REWIND](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_REWIND)to rewind in current media item.

<br />

### seekTo

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

```
void seekTo (long positionInMs)
```

Seek to new position.

<br />

|                          Parameters                          ||
|----------------|----------------------------------------------|
| `positionInMs` | `long`: New position in milliseconds. <br /> |

### setCallback

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

```
void setCallback (PlayerAdapter.Callback callback)
```

Sets callback for event of PlayerAdapter.

<br />

|                                   Parameters                                    ||
|------------|---------------------------------------------------------------------|
| `callback` | `PlayerAdapter.Callback`: Client for event of PlayerAdapter. <br /> |

### setProgressUpdatingEnabled

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

```
void setProgressUpdatingEnabled (boolean enable)
```

Implement this method to enable or disable progress updating.

<br />

|                                   Parameters                                   ||
|----------|----------------------------------------------------------------------|
| `enable` | `boolean`: True to enable progress updating, false otherwise. <br /> |

### setRepeatAction

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

```
void setRepeatAction (int repeatActionIndex)
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_REPEAT](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_REPEAT)to set the repeat action.

<br />

|                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                             ||
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `repeatActionIndex` | `int`: The shuffle action. Must be one of the followings:[INDEX_ONE](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.RepeatAction#INDEX_ONE)[INDEX_ALL](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.RepeatAction#INDEX_ALL),[INDEX_NONE](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.RepeatAction#INDEX_NONE), <br /> |

### setShuffleAction

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

```
void setShuffleAction (int shuffleActionIndex)
```

Optional method. Override this method if[getSupportedActions()](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter#getSupportedActions())include[ACTION_SHUFFLE](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SHUFFLE)to set the shuffle action.

<br />

|                                                                                                                                                                         Parameters                                                                                                                                                                          ||
|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `shuffleActionIndex` | `int`: The repeat action. Must be one of the followings:[INDEX_OFF](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ShuffleAction#INDEX_OFF)[INDEX_ON](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow.ShuffleAction#INDEX_ON) <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)