Back to Exoplayer

SessionCallbackBuilder.AllowedCommandProvider (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html

latest5.5 KB
Original Source

Package com.google.android.exoplayer2.ext.media2

Interface SessionCallbackBuilder.AllowedCommandProvider

  • All Known Implementing Classes:SessionCallbackBuilder.DefaultAllowedCommandProviderEnclosing class:SessionCallbackBuilder

public static interfaceSessionCallbackBuilder.AllowedCommandProvider

Provides allowed commands for MediaController.

Method Summary

All Methods Instance Methods Abstract Methods | Modifier and Type | Method | Description | | --- | --- | --- | | boolean | acceptConnection​(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo) | Called to query whether to allow connection from the controller. | | androidx.media2.session.SessionCommandGroup | getAllowedCommands​(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands) | Called to query allowed commands in following cases: A MediaController requests to connect, and allowed commands is required to tell initial allowed commands. | | int | onCommandRequest​(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommand command) | Called when a MediaController has called an API that controls SessionPlayer set to the MediaSession. |

Method Detail

- 

acceptConnection

boolean acceptConnection​(androidx.media2.session.MediaSession session,
                         androidx.media2.session.MediaSession.ControllerInfo controllerInfo)

Called to query whether to allow connection from the controller.

If it returns true to accept connection, then getAllowedCommands(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup) will be immediately followed to return initial allowed command.

Prefer use SessionCallbackBuilder.PostConnectCallback for any extra initialization about controller, where controller is connected and session can send commands to the controller.

Parameters:session - The media session.controllerInfo - The MediaSession.ControllerInfo for the controller that is requesting connect.Returns:true to accept connection. false otherwise.

- 

getAllowedCommands

androidx.media2.session.SessionCommandGroup getAllowedCommands​(androidx.media2.session.MediaSession session,
                                                               androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
                                                               androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands)

Called to query allowed commands in following cases: - A MediaController requests to connect, and allowed commands is required to tell initial allowed commands. - Underlying SessionPlayer state changes, and allowed commands may be updated via MediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup).

The provided baseAllowedSessionCommand is built automatically based on the state of the SessionPlayer, SessionCallbackBuilder.RatingCallback, SessionCallbackBuilder.MediaItemProvider, SessionCallbackBuilder.CustomCommandProvider, and SessionCallbackBuilder.SkipCallback so may be a useful starting point for any required customizations.

Parameters:session - The media session.controllerInfo - The MediaSession.ControllerInfo for the controller for which allowed commands are being queried.baseAllowedSessionCommands - Base allowed session commands for customization.Returns:The allowed commands for the controller.See Also:MediaSession.SessionCallback.onConnect(MediaSession, ControllerInfo)

- 

onCommandRequest

int onCommandRequest​(androidx.media2.session.MediaSession session,
                     androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
                     androidx.media2.session.SessionCommand command)

Called when a MediaController has called an API that controls SessionPlayer set to the MediaSession. Parameters:session - The media session.controllerInfo - A MediaSession.ControllerInfo that needs allowed command update.command - A SessionCommand from the controller.Returns:A session result code defined in SessionResult.See Also:MediaSession.SessionCallback.onCommandRequest(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand)