PreviewableVideoPlayerState

data class PreviewableVideoPlayerState(val hasMedia: Boolean = true, val isPlaying: Boolean = true, val isLoading: Boolean = false, var volume: Float = 1.0f, var sliderPos: Float = 500.0f, var userDragging: Boolean = false, var loop: Boolean = true, var playbackSpeed: Float = 1.0f, val positionText: String = "00:05", val durationText: String = "00:10", val currentTime: Double = 5000.0, val duration: Double = 10.0, var isFullscreen: Boolean = false, val aspectRatio: Float = 1.7f, val error: VideoPlayerError? = null, val metadata: VideoMetadata = VideoMetadata(), var subtitlesEnabled: Boolean = false, var currentSubtitleTrack: SubtitleTrack? = null, val availableSubtitleTracks: MutableList<SubtitleTrack> = emptyList<SubtitleTrack>().toMutableList(), var subtitleTextStyle: TextStyle = TextStyle.Default, var subtitleBackgroundColor: Color = Color.Transparent, val isPipSupported: Boolean = false, var isPipActive: Boolean = false, var isPipEnabled: Boolean = false, var onPlaybackEnded: () -> Unit? = null, var onRestart: () -> Unit? = null) : VideoPlayerState

Helper to mock the VideoPlayerState.

Constructors

Link copied to clipboard
constructor(hasMedia: Boolean = true, isPlaying: Boolean = true, isLoading: Boolean = false, volume: Float = 1.0f, sliderPos: Float = 500.0f, userDragging: Boolean = false, loop: Boolean = true, playbackSpeed: Float = 1.0f, positionText: String = "00:05", durationText: String = "00:10", currentTime: Double = 5000.0, duration: Double = 10.0, isFullscreen: Boolean = false, aspectRatio: Float = 1.7f, error: VideoPlayerError? = null, metadata: VideoMetadata = VideoMetadata(), subtitlesEnabled: Boolean = false, currentSubtitleTrack: SubtitleTrack? = null, availableSubtitleTracks: MutableList<SubtitleTrack> = emptyList<SubtitleTrack>().toMutableList(), subtitleTextStyle: TextStyle = TextStyle.Default, subtitleBackgroundColor: Color = Color.Transparent, isPipSupported: Boolean = false, isPipActive: Boolean = false, isPipEnabled: Boolean = false, onPlaybackEnded: () -> Unit? = null, onRestart: () -> Unit? = null)

Properties

Link copied to clipboard
open override val aspectRatio: Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val currentTime: Double
Link copied to clipboard
open override val duration: Double

Returns the total duration of the media in seconds.

Link copied to clipboard
open override val durationText: String

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

Link copied to clipboard
open override val error: VideoPlayerError?
Link copied to clipboard
open override val hasMedia: Boolean
Link copied to clipboard
open override var isFullscreen: Boolean
Link copied to clipboard
open override val isLoading: Boolean
Link copied to clipboard
open override var isPipActive: Boolean
Link copied to clipboard
open override var isPipEnabled: Boolean
Link copied to clipboard
open override val isPipSupported: Boolean
Link copied to clipboard
open override val isPlaying: Boolean

Indicates whether the video is currently playing.

Link copied to clipboard
open override var loop: Boolean

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

Link copied to clipboard
open override val metadata: VideoMetadata
Link copied to clipboard
open override 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
open override 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
open override var playbackSpeed: Float
Link copied to clipboard
open override val positionText: String

Returns the current playback position as a formatted string.

Link copied to clipboard
open override var sliderPos: Float

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

Link copied to clipboard
open override var subtitleBackgroundColor: Color
Link copied to clipboard
open override var subtitlesEnabled: Boolean
Link copied to clipboard
open override var subtitleTextStyle: TextStyle
Link copied to clipboard
open override var userDragging: Boolean

Denotes whether the user is manually adjusting the playback position.

Link copied to clipboard
open override 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
open override fun clearError()
Link copied to clipboard
open override fun disableSubtitles()
Link copied to clipboard
open override 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
open override fun openFile(file: PlatformFile, initializeplayerState: InitialPlayerState = InitialPlayerState.PLAY)
Link copied to clipboard
open override fun openUri(uri: String, initializeplayerState: InitialPlayerState = InitialPlayerState.PLAY)

Opens a video file or URL for playback.

Link copied to clipboard
open override fun pause()

Pauses video playback.

Link copied to clipboard
open override 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
open override fun seekTo(value: Float)

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

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

Stops playback and resets the player state.

Link copied to clipboard
open override fun toggleFullscreen()