lib / tv.smartclip.smartclientandroid.lib.video_player / SxVideoPlayerWrapper

SxVideoPlayerWrapper

interface SxVideoPlayerWrapper : Releasable

Describes the outstream video player with support for observing the different properties of the player.

Properties

duration

Duration of the current media playback in milliseconds.

abstract val duration: Long

durationObservable

abstract val durationObservable: IObservable<Long>

error

Any error produced by the video player.

abstract var error: SxMediaError?

errorObservable

abstract val errorObservable: IObservable<SxMediaError?>

event

Contains all relevant data from the player and will change when any of them changes.

abstract val event: SxVideoPlayerEvent

eventsObservable

abstract val eventsObservable: IObservable<SxVideoPlayerEvent>

mediaUrl

Url of the last loaded media file or null if no file was loaded yet.

abstract var mediaUrl: String?

overlayContainer

ViewGroup of the overlay container. Must be used to add any Views that should be shown above the media.

abstract val overlayContainer: ViewGroup

playbackState

PlaybackState of the current media playback.

abstract val playbackState: PlaybackState

playbackStateObservable

abstract val playbackStateObservable: IObservable<PlaybackState>

playWhenReady

true for active playback.

abstract var playWhenReady: Boolean

playWhenReadyControllable

abstract val playWhenReadyControllable: IObservable<Boolean>

position

Position of the current media playback in milliseconds.

abstract val position: Long

positionObservable

abstract val positionObservable: IObservable<Long>

surfaceView

Surface view of the video player. It is required that the view's parent is placed in a ConstraintLayout.

abstract val surfaceView: View

videoIndex

Is incremented by one every time loadAd is called.

abstract var videoIndex: Long

videoIndexObservable

abstract val videoIndexObservable: IObservable<Long>

Functions

loadAd

Is called when a new advertising media should be loaded. Playback should be starting immediately after load. Seeking of the media should not be possible.

abstract fun loadAd(url: String): Unit
abstract fun loadAd(url: String, closedCaptions: List<SxClosedCaption> = emptyList()): Unit

seek

Is called when the current media should be sought by an offset.

abstract fun seek(offset: Long): Unit

Inheritors

AbsVideoPlayerWrapper

Implements Observables/Controllable and links them with their corresponding property. Also triggers new event when one of the properties changes.

abstract class AbsVideoPlayerWrapper : SxVideoPlayerWrapper

SxInstreamVideoPlayerWrapper

Describes the instream video player with support for observing the different properties of the player.

interface SxInstreamVideoPlayerWrapper : SxVideoPlayerWrapper