VideoPlayerState

Represents the state and controls for a video player. This class provides properties and methods to manage video playback, including play, pause, stop, seeking, and more. It maintains information about the playback state, such as whether the video is currently playing, volume levels, and playback position.

Functions of this class are tied to managing and interacting with the underlying video player implementation.

Inheritors

DefaultVideoPlayerState
LinuxVideoPlayerState
MacVideoPlayerState
WindowsVideoPlayerState

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val aspectRatio: Float
Link copied to clipboard
Link copied to clipboard
abstract val currentTime: Double
Link copied to clipboard
abstract val duration: Double

Returns the total duration of the media in seconds.

Link copied to clipboard
abstract val durationText: String

Returns the total duration of the video as a formatted string.

Link copied to clipboard
abstract val error: VideoPlayerError?
Link copied to clipboard
abstract val hasMedia: Boolean
Link copied to clipboard
abstract var isFullscreen: Boolean
Link copied to clipboard
abstract val isLoading: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract val isPlaying: Boolean

Indicates whether the video is currently playing.

Link copied to clipboard
abstract var loop: Boolean

Specifies if the video should loop when it reaches the end.

Link copied to clipboard
abstract val metadata: VideoMetadata
Link copied to clipboard
abstract var onPlaybackEnded: () -> Unit?

Callback invoked when playback reaches the end of the media. Only called when loop is false. May be invoked from a background thread.

Link copied to clipboard
abstract var onRestart: () -> Unit?

Callback invoked when playback restarts from the beginning due to looping. Only called when loop is true. May be invoked from a background thread.

Link copied to clipboard
abstract var playbackSpeed: Float
Link copied to clipboard
abstract val positionText: String

Returns the current playback position as a formatted string.

Link copied to clipboard
abstract var sliderPos: Float

Represents the current playback position as a value between 0.0 and 1000.0.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract var userDragging: Boolean

Denotes whether the user is manually adjusting the playback position.

Link copied to clipboard
abstract var volume: Float

Controls the playback volume. Valid values are within the range of 0.0 (muted) to 1.0 (maximum volume).

Functions

Link copied to clipboard
open fun clearCache()

Clears the shared video cache, removing all cached media data from disk.

Link copied to clipboard
abstract fun clearError()
Link copied to clipboard
abstract fun disableSubtitles()
Link copied to clipboard
abstract fun dispose()

Releases all resources used by the video player (native players, coroutines, observers, etc.).

Link copied to clipboard
open suspend fun enterPip(): PipResult
Link copied to clipboard
open fun openAsset(fileName: String, initializeplayerState: InitialPlayerState = InitialPlayerState.PLAY)

Opens a media file bundled with the application.

Link copied to clipboard
abstract fun openFile(file: PlatformFile, initializeplayerState: InitialPlayerState = InitialPlayerState.PLAY)
Link copied to clipboard
abstract fun openUri(uri: String, initializeplayerState: InitialPlayerState = InitialPlayerState.PLAY)

Opens a video file or URL for playback.

Link copied to clipboard
abstract fun pause()

Pauses video playback.

Link copied to clipboard
abstract fun play()

Starts or resumes video playback.

Link copied to clipboard
open fun restart()

Restarts playback from the beginning. Works reliably from any state, including when playback has ended.

Link copied to clipboard
open fun seekFinished()

Commits the seek after a user-driven seek interaction. Performs the actual seek on the player and ends the dragging state.

Link copied to clipboard
open fun seekStart(value: Float)

Begins a user-driven seek interaction (e.g. slider drag). Updates the visual slider position without performing the actual seek on the player. Must be followed by seekFinished to commit the seek.

Link copied to clipboard
abstract fun seekTo(value: Float)

Seeks to a specific playback position. The value should be between 0.0 and 1000.0.

Link copied to clipboard
abstract fun selectSubtitleTrack(track: SubtitleTrack?)
Link copied to clipboard
abstract fun stop()

Stops playback and resets the player state.

Link copied to clipboard
abstract fun toggleFullscreen()