RemoteCastPlayer
@UnstableApi
class RemoteCastPlayer : BasePlayer
Player implementation that communicates with a Cast receiver app.
The behavior of this class depends on the underlying Cast session, which is obtained from the injected CastContext. To keep track of the session, isCastSessionAvailable can be queried and SessionAvailabilityListener can be implemented and attached to the player.
If no session is available, the player state will remain unchanged and calls to methods that alter it will be ignored. Querying the player state is possible even when no session is available, in which case, the last observed receiver app state is reported.
Methods should be called on the application's main thread.
Summary
Nested types |
|---|
|
A builder for |
Constants |
|
|---|---|
const DeviceInfo! |
A |
const Float |
MAX_SPEED_SUPPORTED = 2.0f |
const Float |
MIN_SPEED_SUPPORTED = 0.5f |
Public functions |
|
|---|---|
Unit |
addListener(listener: Player.Listener!)Registers a listener to receive all events from the player. |
Unit |
addMediaItems(index: Int, mediaItems: (Mutable)List<MediaItem!>!)Adds a list of media items at the given index of the playlist. |
Unit |
This method is not supported and does nothing. |
Unit |
clearVideoSurface(surface: Surface?)This method is not supported and does nothing. |
Unit |
clearVideoSurfaceHolder(surfaceHolder: SurfaceHolder?)This method is not supported and does nothing. |
Unit |
clearVideoSurfaceView(surfaceView: SurfaceView?)This method is not supported and does nothing. |
Unit |
clearVideoTextureView(textureView: TextureView?)This method is not supported and does nothing. |
Unit |
@InlineMe(replacement = "this.decreaseDeviceVolume(0)")This function is deprecated. Use |
Unit |
decreaseDeviceVolume(@C.VolumeFlags flags: Int)Decreases the volume of the device. |
Looper! |
Returns the |
AudioAttributes! |
This method is not supported and returns |
Long |
Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds. |
Long |
If |
Long |
If |
Int |
If |
Int |
If |
CueGroup! |
This method is not supported and returns an empty |
Int |
Returns the index of the current |
Int |
Returns the index of the period currently being played. |
Long |
Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if the |
Timeline! |
Returns the current |
Long |
Returns the duration of the current content or ad in milliseconds, or |
MediaQueueItem? |
Returns the item that corresponds to the period with the given id, or null if no media queue or period with id |
Long |
Returns the maximum position for which |
Boolean |
Whether playback will proceed when |
PlaybackParameters! |
Returns the currently active playback parameters. |
Int |
Returns the reason why playback is suppressed even though |
PlaybackException? |
Returns the error that caused playback to fail. |
Int |
Returns the current |
Long |
Returns the |
Long |
Returns the |
Boolean |
Returns whether shuffling of media items is enabled. |
Size! |
This method is not supported and returns |
Long |
Returns an estimate of the total buffered duration from the current position, in milliseconds. |
TrackSelectionParameters! |
Returns the parameters constraining the track selection. |
VideoSize! |
This method is not supported and returns |
Float |
Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged). |
Unit |
@InlineMe(replacement = "this.increaseDeviceVolume(0)")This function is deprecated. Use |
Unit |
increaseDeviceVolume(@C.VolumeFlags flags: Int)Increases the volume of the device. |
Boolean |
Returns whether a cast session is available. |
Boolean |
Gets whether the device is muted or not. |
Boolean |
Whether the player is currently loading the source. |
Boolean |
Returns whether the player is currently playing an ad. |
Unit |
moveMediaItems(fromIndex: Int, toIndex: Int, newIndex: Int)Moves the media item range to the new index. |
Unit |
mute()This method is not supported and does nothing. |
Unit |
prepare()Prepares the player. |
Unit |
release()Releases the player. |
Unit |
removeListener(listener: Player.Listener!)Unregister a listener registered through |
Unit |
removeMediaItems(fromIndex: Int, toIndex: Int)Removes a range of media items from the playlist. |
Unit |
Replaces the media items at the given range of the playlist. |
Unit |
setAudioAttributes(This method is not supported and does nothing. |
Unit |
@InlineMe(replacement = "this.setDeviceMuted(muted, 0)")This function is deprecated. Use |
Unit |
setDeviceMuted(muted: Boolean, @C.VolumeFlags flags: Int)Sets the mute state of the device. |
Unit |
setDeviceVolume(volume: @IntRange(from = 0) Int, @C.VolumeFlags flags: Int)Sets the volume of the device with volume flags. |
Unit |
setMediaItems(Clears the playlist and adds the specified |
Unit |
Clears the playlist and adds the specified |
Unit |
setPlayWhenReady(playWhenReady: Boolean)Sets whether playback should proceed when |
Unit |
setPlaybackParameters(playbackParameters: PlaybackParameters!)Attempts to set the playback parameters. |
Unit |
setRepeatMode(@Player.RepeatMode repeatMode: Int)Sets the |
Unit |
Sets a listener for updates on the cast session availability. |
Unit |
setShuffleModeEnabled(shuffleModeEnabled: Boolean)Sets whether shuffling of media items is enabled. |
Unit |
setTrackSelectionParameters(parameters: TrackSelectionParameters!)Sets the parameters constraining the track selection. |
Unit |
setVideoSurface(surface: Surface?)This method is not supported and does nothing. |
Unit |
setVideoSurfaceHolder(surfaceHolder: SurfaceHolder?)This method is not supported and does nothing. |
Unit |
setVideoSurfaceView(surfaceView: SurfaceView?)This method is not supported and does nothing. |
Unit |
setVideoTextureView(textureView: TextureView?)This method is not supported and does nothing. |
Unit |
Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive. |
Unit |
stop()Stops playback without resetting the playlist. |
Unit |
unmute()This method is not supported and does nothing. |
Protected functions |
|
|---|---|
Unit |
seekTo(Seeks to a position in the specified |
Public properties |
|
|---|---|
Player.Commands! |
|
Tracks! |
|
DeviceInfo! |
|
Int |
|
MediaMetadata! |
|
Int |
|
MediaMetadata! |
Inherited Constants |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Inherited functions |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Inherited properties |
|---|
Constants
DEVICE_INFO_REMOTE_EMPTY
const val DEVICE_INFO_REMOTE_EMPTY: DeviceInfo!
A remoteDeviceInfo with a null routingControllerId.
Public functions
addListener
fun addListener(listener: Player.Listener!): Unit
Registers a listener to receive all events from the player.
The listener's methods will be called on the thread associated with getApplicationLooper.
This method can be called from any thread.
| Parameters | |
|---|---|
listener: Player.Listener! |
The listener to register. |
addMediaItems
fun addMediaItems(index: Int, mediaItems: (Mutable)List<MediaItem!>!): Unit
Adds a list of media items at the given index of the playlist.
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
| Parameters | |
|---|---|
index: Int |
The index at which to add the media items. If the index is larger than the size of the playlist, the media items are added to the end of the playlist. |
mediaItems: (Mutable)List<MediaItem!>! |
The |
clearVideoSurface
fun clearVideoSurface(surface: Surface?): Unit
This method is not supported and does nothing.
clearVideoSurfaceHolder
fun clearVideoSurfaceHolder(surfaceHolder: SurfaceHolder?): Unit
This method is not supported and does nothing.
clearVideoSurfaceView
fun clearVideoSurfaceView(surfaceView: SurfaceView?): Unit
This method is not supported and does nothing.
clearVideoTextureView
fun clearVideoTextureView(textureView: TextureView?): Unit
This method is not supported and does nothing.
decreaseDeviceVolume
@InlineMe(replacement = "this.decreaseDeviceVolume(0)")
fundecreaseDeviceVolume(): Unit
decreaseDeviceVolume
fun decreaseDeviceVolume(@C.VolumeFlags flags: Int): Unit
Decreases the volume of the device.
The getDeviceVolume device volume cannot be decreased below minVolume.
Note that this method affects the device volume. To change the volume of the current stream only, use setVolume.
This method must only be called if COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS is available.
| Parameters | |
|---|---|
@C.VolumeFlags flags: Int |
Either 0 or a bitwise combination of one or more |
getApplicationLooper
fun getApplicationLooper(): Looper!
Returns the Looper associated with the application thread that's used to access the player and on which player events are received.
This method can be called from any thread.
getAudioAttributes
fun getAudioAttributes(): AudioAttributes!
This method is not supported and returns DEFAULT.
getBufferedPosition
fun getBufferedPosition(): Long
Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getContentBufferedPosition
fun getContentBufferedPosition(): Long
If isPlayingAd returns true, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds. If there is no ad playing, the returned position is the same as that returned by getBufferedPosition.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getContentPosition
fun getContentPosition(): Long
If isPlayingAd returns true, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds. If there is no ad playing, the returned position is the same as that returned by getCurrentPosition.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getCurrentAdGroupIndex
fun getCurrentAdGroupIndex(): Int
If isPlayingAd returns true, returns the index of the ad group in the period currently being played. Returns INDEX_UNSET otherwise.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getCurrentAdIndexInAdGroup
fun getCurrentAdIndexInAdGroup(): Int
If isPlayingAd returns true, returns the index of the ad in its ad group. Returns INDEX_UNSET otherwise.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getCurrentCues
fun getCurrentCues(): CueGroup!
This method is not supported and returns an empty CueGroup.
getCurrentMediaItemIndex
fun getCurrentMediaItemIndex(): Int
Returns the index of the current MediaItem in the timeline, or the prospective index if the current timeline is empty.
This method must only be called if COMMAND_GET_TIMELINE is available.
getCurrentPeriodIndex
fun getCurrentPeriodIndex(): Int
Returns the index of the period currently being played.
This method must only be called if COMMAND_GET_TIMELINE is available.
getCurrentPosition
fun getCurrentPosition(): Long
Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if the current timeline is empty.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getCurrentTimeline
fun getCurrentTimeline(): Timeline!
Returns the current Timeline. Never null, but may be empty.
This method must only be called if COMMAND_GET_TIMELINE is available.
| See also | |
|---|---|
onTimelineChanged |
getDuration
fun getDuration(): Long
Returns the duration of the current content or ad in milliseconds, or TIME_UNSET if the duration is not known.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getItem
fun getItem(periodId: Int): MediaQueueItem?
Returns the item that corresponds to the period with the given id, or null if no media queue or period with id periodId exist.
| Parameters | |
|---|---|
periodId: Int |
The id of the period ( |
| Returns | |
|---|---|
MediaQueueItem? |
The item that corresponds to the period with the given id, or null if no media queue or period with id |
getMaxSeekToPreviousPosition
fun getMaxSeekToPreviousPosition(): Long
Returns the maximum position for which seekToPrevious seeks to the previous MediaItem, in milliseconds.
| Returns | |
|---|---|
Long |
The maximum seek to previous position, in milliseconds. |
| See also | |
|---|---|
onMaxSeekToPreviousPositionChanged |
getPlayWhenReady
fun getPlayWhenReady(): Boolean
Whether playback will proceed when getPlaybackState == STATE_READY.
| Returns | |
|---|---|
Boolean |
Whether playback will proceed when ready. |
| See also | |
|---|---|
onPlayWhenReadyChanged |
getPlaybackParameters
fun getPlaybackParameters(): PlaybackParameters!
Returns the currently active playback parameters.
| See also | |
|---|---|
onPlaybackParametersChanged |
getPlaybackSuppressionReason
@Player.PlaybackSuppressionReason
fun getPlaybackSuppressionReason(): Int
Returns the reason why playback is suppressed even though getPlayWhenReady is
true, or PLAYBACK_SUPPRESSION_REASON_NONE if playback is not suppressed.
| Returns | |
|---|---|
Int |
The current |
| See also | |
|---|---|
onPlaybackSuppressionReasonChanged |
getPlayerError
fun getPlayerError(): PlaybackException?
Returns the error that caused playback to fail. This is the same error that will have been reported via onPlayerError at the time of failure. It can be queried using this method until the player is re-prepared.
Note that this method will always return null if getPlaybackState is not STATE_IDLE.
| Returns | |
|---|---|
PlaybackException? |
The error, or |
| See also | |
|---|---|
onPlayerError |
getRepeatMode
@Player.RepeatMode
fun getRepeatMode(): Int
Returns the current RepeatMode used for playback.
| Returns | |
|---|---|
Int |
The current repeat mode. |
| See also | |
|---|---|
onRepeatModeChanged |
getSeekBackIncrement
fun getSeekBackIncrement(): Long
Returns the seekBack increment.
| Returns | |
|---|---|
Long |
The seek back increment, in milliseconds. |
| See also | |
|---|---|
onSeekBackIncrementChanged |
getSeekForwardIncrement
fun getSeekForwardIncrement(): Long
Returns the seekForward increment.
| Returns | |
|---|---|
Long |
The seek forward increment, in milliseconds. |
| See also | |
|---|---|
onSeekForwardIncrementChanged |
getShuffleModeEnabled
fun getShuffleModeEnabled(): Boolean
Returns whether shuffling of media items is enabled.
| See also | |
|---|---|
onShuffleModeEnabledChanged |
getTotalBufferedDuration
fun getTotalBufferedDuration(): Long
Returns an estimate of the total buffered duration from the current position, in milliseconds. This includes pre-buffered data for subsequent ads and media items.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
getTrackSelectionParameters
fun getTrackSelectionParameters(): TrackSelectionParameters!
Returns the parameters constraining the track selection.
| See also | |
|---|---|
onTrackSelectionParametersChanged |
} |
getVolume
fun getVolume(): Float
Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).
This method must only be called if COMMAND_GET_VOLUME is available.
| Returns | |
|---|---|
Float |
The linear gain applied to all audio channels. |
| See also | |
|---|---|
onVolumeChanged |
increaseDeviceVolume
@InlineMe(replacement = "this.increaseDeviceVolume(0)")
funincreaseDeviceVolume(): Unit
increaseDeviceVolume
fun increaseDeviceVolume(@C.VolumeFlags flags: Int): Unit
Increases the volume of the device.
The getDeviceVolume device volume cannot be increased above maxVolume, if defined.
Note that this method affects the device volume. To change the volume of the current stream only, use setVolume.
This method must only be called if COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS is available.
| Parameters | |
|---|---|
@C.VolumeFlags flags: Int |
Either 0 or a bitwise combination of one or more |
isCastSessionAvailable
fun isCastSessionAvailable(): Boolean
Returns whether a cast session is available.
isDeviceMuted
fun isDeviceMuted(): Boolean
Gets whether the device is muted or not.
Note that this method returns the mute state of the device. To check if the current stream is muted, use getVolume() == 0.
This method must only be called if COMMAND_GET_DEVICE_VOLUME is available.
| See also | |
|---|---|
onDeviceVolumeChanged |
isLoading
fun isLoading(): Boolean
Whether the player is currently loading the source.
| Returns | |
|---|---|
Boolean |
Whether the player is currently loading the source. |
| See also | |
|---|---|
onIsLoadingChanged |
isPlayingAd
fun isPlayingAd(): Boolean
Returns whether the player is currently playing an ad.
This method must only be called if COMMAND_GET_CURRENT_MEDIA_ITEM is available.
moveMediaItems
fun moveMediaItems(fromIndex: Int, toIndex: Int, newIndex: Int): Unit
Moves the media item range to the new index.
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
| Parameters | |
|---|---|
fromIndex: Int |
The start of the range to move. If the index is larger than the size of the playlist, the request is ignored. |
toIndex: Int |
The first item not to be included in the range (exclusive). If the index is larger than the size of the playlist, items up to the end of the playlist are moved. |
newIndex: Int |
The new index of the first media item of the range. If the new index is larger than the size of the remaining playlist after removing the range, the range is moved to the end of the playlist. |
prepare
fun prepare(): Unit
Prepares the player.
This method must only be called if COMMAND_PREPARE is available.
This will move the player out of idle state and the player will start loading media and acquire resources needed for playback.
release
fun release(): Unit
Releases the player. This method must be called when the player is no longer required. The player must not be used after calling this method.
This method must only be called if COMMAND_RELEASE is available.
removeListener
fun removeListener(listener: Player.Listener!): Unit
Unregister a listener registered through addListener. The listener will no longer receive events.
| Parameters | |
|---|---|
listener: Player.Listener! |
The listener to unregister. |
removeMediaItems
fun removeMediaItems(fromIndex: Int, toIndex: Int): Unit
Removes a range of media items from the playlist.
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
| Parameters | |
|---|---|
fromIndex: Int |
The index at which to start removing media items. If the index is larger than the size of the playlist, the request is ignored. |
toIndex: Int |
The index of the first item to be kept (exclusive). If the index is larger than the size of the playlist, media items up to the end of the playlist are removed. |
replaceMediaItems
fun replaceMediaItems(
fromIndex: Int,
toIndex: Int,
mediaItems: (Mutable)List<MediaItem!>!
): Unit
Replaces the media items at the given range of the playlist.
Implementations of this method may attempt to seamlessly continue playback if the currently playing media item is replaced with a compatible one (e.g. same URL, only metadata has changed).
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
Note that it is possible to replace a range with an arbitrary number of new items, so that the number of removed items defined by fromIndex and toIndex does not have to match the number of added items defined by mediaItems. As result, it may also change the index of subsequent items not touched by this operation.
| Parameters | |
|---|---|
fromIndex: Int |
The start of the range. If the index is larger than the size of the playlist, the request is ignored. |
toIndex: Int |
The first item not to be included in the range (exclusive). If the index is larger than the size of the playlist, items up to the end of the playlist are replaced. |
mediaItems: (Mutable)List<MediaItem!>! |
The |
setAudioAttributes
fun setAudioAttributes(
audioAttributes: AudioAttributes!,
handleAudioFocus: Boolean
): Unit
This method is not supported and does nothing.
setDeviceMuted
@InlineMe(replacement = "this.setDeviceMuted(muted, 0)")
funsetDeviceMuted(muted: Boolean): Unit
setDeviceMuted
fun setDeviceMuted(muted: Boolean, @C.VolumeFlags flags: Int): Unit
Sets the mute state of the device.
Note that this method affects the device volume. To mute just the current stream, use
setVolume(0) instead.
This method must only be called if COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS is available.
| Parameters | |
|---|---|
muted: Boolean |
Whether to set the device to be muted or not |
@C.VolumeFlags flags: Int |
Either 0 or a bitwise combination of one or more |
setDeviceVolume
fun setDeviceVolume(volume: @IntRange(from = 0) Int, @C.VolumeFlags flags: Int): Unit
Sets the volume of the device with volume flags.
Note that this method affects the device volume. To change the volume of the current stream only, use setVolume.
This method must only be called if COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS is available.
| Parameters | |
|---|---|
volume: @IntRange(from = 0) Int |
The volume to set. |
@C.VolumeFlags flags: Int |
Either 0 or a bitwise combination of one or more |
setMediaItems
fun setMediaItems(
mediaItems: (Mutable)List<MediaItem!>!,
resetPosition: Boolean
): Unit
Clears the playlist and adds the specified media items.
To replace a span of media items (possibly seamlessly) without clearing the playlist, use replaceMediaItems.
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
| Parameters | |
|---|---|
mediaItems: (Mutable)List<MediaItem!>! |
The new |
resetPosition: Boolean |
Whether the playback position should be reset to the default position in the first |
setMediaItems
fun setMediaItems(
mediaItems: (Mutable)List<MediaItem!>!,
startIndex: Int,
startPositionMs: Long
): Unit
Clears the playlist and adds the specified media items.
To replace a span of media items (possibly seamlessly) without clearing the playlist, use replaceMediaItems.
This method must only be called if COMMAND_CHANGE_MEDIA_ITEMS is available.
| Parameters | |
|---|---|
mediaItems: (Mutable)List<MediaItem!>! |
The new |
startIndex: Int |
The |
startPositionMs: Long |
The position in milliseconds to start playback from. If |
| Throws | |
|---|---|
androidx.media3.common.IllegalSeekPositionException |
If the provided |
setPlayWhenReady
fun setPlayWhenReady(playWhenReady: Boolean): Unit
Sets whether playback should proceed when getPlaybackState == STATE_READY.
If the player is already in the ready state then this method pauses and resumes playback.
This method must only be called if COMMAND_PLAY_PAUSE is available.
| Parameters | |
|---|---|
playWhenReady: Boolean |
Whether playback should proceed when ready. |
setPlaybackParameters
fun setPlaybackParameters(playbackParameters: PlaybackParameters!): Unit
Attempts to set the playback parameters. Passing DEFAULT resets the player to the default, which means there is no speed or pitch adjustment.
Playback parameters changes may cause the player to buffer. onPlaybackParametersChanged will be called whenever the currently active playback parameters change.
This method must only be called if COMMAND_SET_SPEED_AND_PITCH is available.
| Parameters | |
|---|---|
playbackParameters: PlaybackParameters! |
The playback parameters. |
setRepeatMode
fun setRepeatMode(@Player.RepeatMode repeatMode: Int): Unit
Sets the RepeatMode to be used for playback.
This method must only be called if COMMAND_SET_REPEAT_MODE is available.
| Parameters | |
|---|---|
@Player.RepeatMode repeatMode: Int |
The repeat mode. |
setSessionAvailabilityListener
fun setSessionAvailabilityListener(listener: SessionAvailabilityListener?): Unit
Sets a listener for updates on the cast session availability.
| Parameters | |
|---|---|
listener: SessionAvailabilityListener? |
The |
setShuffleModeEnabled
fun setShuffleModeEnabled(shuffleModeEnabled: Boolean): Unit
Sets whether shuffling of media items is enabled.
This method must only be called if COMMAND_SET_SHUFFLE_MODE is available.
| Parameters | |
|---|---|
shuffleModeEnabled: Boolean |
Whether shuffling is enabled. |
setTrackSelectionParameters
fun setTrackSelectionParameters(parameters: TrackSelectionParameters!): Unit
Sets the parameters constraining the track selection.
Unsupported parameters will be silently ignored.
Use getTrackSelectionParameters to retrieve the current parameters. For example, the following snippet restricts video to SD whilst keep other track selection parameters unchanged:
player.setTrackSelectionParameters( player.getTrackSelectionParameters() .buildUpon() .setMaxVideoSizeSd() .build())
This method must only be called if COMMAND_SET_TRACK_SELECTION_PARAMETERS is available.
setVideoSurface
fun setVideoSurface(surface: Surface?): Unit
This method is not supported and does nothing.
setVideoSurfaceHolder
fun setVideoSurfaceHolder(surfaceHolder: SurfaceHolder?): Unit
This method is not supported and does nothing.
setVideoSurfaceView
fun setVideoSurfaceView(surfaceView: SurfaceView?): Unit
This method is not supported and does nothing.
setVideoTextureView
fun setVideoTextureView(textureView: TextureView?): Unit
This method is not supported and does nothing.
setVolume
fun setVolume(volume: Float): Unit
Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.
This method must only be called if COMMAND_SET_VOLUME is available.
| Parameters | |
|---|---|
volume: Float |
Linear output gain to apply to all audio channels. |
stop
fun stop(): Unit
Stops playback without resetting the playlist. Use pause rather than this method if the intention is to pause playback.
Calling this method will cause the playback state to transition to STATE_IDLE and the player will release the loaded media and resources required for playback. The player instance can still be used by calling prepare again, and release must still be called on the player if it's no longer required.
Calling this method does not clear the playlist, reset the playback position or the playback error.
This method must only be called if COMMAND_STOP is available.
Protected functions
seekTo
protected fun seekTo(
mediaItemIndex: Int,
positionMs: Long,
@Player.Command seekCommand: Int,
isRepeatingCurrentItem: Boolean
): Unit
Seeks to a position in the specified MediaItem.
| Parameters | |
|---|---|
mediaItemIndex: Int |
The index of the |
positionMs: Long |
The seek position in the specified |
@Player.Command seekCommand: Int |
The |
isRepeatingCurrentItem: Boolean |
Whether this seeks repeats the current item. |