WindowsVideoPlayerState

class WindowsVideoPlayerState(playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()) : VideoPlayerState

Windows implementation of the video player state. Handles media playback using Media Foundation on Windows platform.

Constructors

Link copied to clipboard
constructor(playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val aspectRatio: Float
Link copied to clipboard
open override val availableAudioTracks: List<AudioTrack>
Link copied to clipboard
open val availableHlsQualities: List<HlsQualityVariant>
Link copied to clipboard
open override val availableSubtitleTracks: List<SubtitleTrack>
Link copied to clipboard
Link copied to clipboard
open val bufferedRanges: List<BufferedRange>
Link copied to clipboard
open override val capabilities: PlayerCapabilities
Link copied to clipboard
open override val chapters: List<MediaChapter>
Link copied to clipboard
open override val colorPipelineStatus: StateFlow<VideoColorPipelineStatus>
Link copied to clipboard
open override var currentAudioTrack: AudioTrack?
Link copied to clipboard
open val currentChapter: MediaChapter?
Link copied to clipboard
open val currentHlsQuality: HlsQualityVariant?
Link copied to clipboard
open override var currentSubtitleTrack: SubtitleTrack?
Link copied to clipboard
open override val currentTime: Duration
Link copied to clipboard
Link copied to clipboard
open override val diagnostics: PlaybackDiagnostics
Link copied to clipboard
open override val duration: Duration
Link copied to clipboard
open val durationMs: Long
Link copied to clipboard
open override val durationText: String
Link copied to clipboard
open override val error: VideoPlayerError?
Link copied to clipboard
open override val hasMedia: Boolean
Link copied to clipboard
open val hlsQualityMode: HlsQualityMode
Link copied to clipboard
Link copied to clipboard
open override var isFullscreen: Boolean
Link copied to clipboard
open override var isLoading: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val isPlaying: Boolean
Link copied to clipboard
open override val isSeeking: Boolean
Link copied to clipboard
open val loadingState: PlaybackLoadingState
Link copied to clipboard
open override var loop: Boolean
Link copied to clipboard
Link copied to clipboard
open override val metadata: VideoMetadata
Link copied to clipboard
open override var onPlaybackEnded: () -> Unit?
Link copied to clipboard
open override var onRestart: () -> Unit?
Link copied to clipboard
open val playbackEvents: SharedFlow<PlaybackEvent>
Link copied to clipboard
open override var playbackSpeed: Float
Link copied to clipboard
open override val positionText: String
Link copied to clipboard
open override val preciseCurrentTime: Duration
Link copied to clipboard
Link copied to clipboard
open override var projection: VideoProjectionSettings
Link copied to clipboard
open override var projectionTextureCrop: VideoTextureCrop
Link copied to clipboard
open override var projectionView: VideoProjectionViewSettings
Link copied to clipboard
open override var projectionViewControlMode: VideoProjectionViewControlMode
Link copied to clipboard
open override val renderingInfo: VideoRenderingInfo
Link copied to clipboard
open override var sliderPos: Float
Link copied to clipboard
open override var subtitleBackgroundColor: Color
Link copied to clipboard
open override var subtitleOffset: Duration
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
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override var volume: Float

Volume control for the player (0.0 to 1.0) Any modification triggers the native call SetAudioVolume

Functions

Link copied to clipboard
open override fun addSubtitleTrack(track: SubtitleTrack)
Link copied to clipboard
open override fun canPlaySource(uri: String, mimeType: String?): Boolean
Link copied to clipboard
open override fun clearCache(): CacheClearResult
Link copied to clipboard
open override fun clearError()
Link copied to clipboard
open override fun clearExternalSubtitleTracks()
Link copied to clipboard
open override fun disableSubtitles(): TrackSelectionResult
Link copied to clipboard
open override fun dispose()
Link copied to clipboard
open suspend fun enterPip(): PipResult
Link copied to clipboard
fun onResized(width: Int = 0, height: Int = 0)

Called when the player surface is resized Temporarily pauses frame processing to avoid artifacts during resize For 4K videos, we need a longer delay to prevent memory pressure

Link copied to clipboard
open fun openAsset(fileName: String, initializePlayerState: InitialPlayerState)
Link copied to clipboard
open override fun openFile(file: PlatformFile, initializePlayerState: InitialPlayerState)
Link copied to clipboard
open override fun openUri(uri: String, initializePlayerState: InitialPlayerState, requestHeaders: Map<String, String>)

Opens a media file or URL for playback

Link copied to clipboard
open override fun pause()

Pauses playback if currently playing

Link copied to clipboard
open override fun play()

Starts or resumes playback, reopening the retained source after stop.

Link copied to clipboard
open fun playbackSnapshot(): PlaybackSnapshot
Link copied to clipboard
open fun prepare(uri: String, initializePlayerState: InitialPlayerState, requestHeaders: Map<String, String>)
Link copied to clipboard
open override fun releaseSource()

Detaches the current source while keeping this state reusable.

Link copied to clipboard
open fun removeSubtitleTrack(track: SubtitleTrack)
open override fun removeSubtitleTrack(trackId: String)
Link copied to clipboard
open fun replaceExternalSubtitleTracks(tracks: List<SubtitleTrack>)
Link copied to clipboard
open override fun restart()
Link copied to clipboard
open fun seekBy(delta: Duration)
Link copied to clipboard
open fun seekByMs(deltaMs: Long)
Link copied to clipboard
open override fun seekFinished()
Link copied to clipboard
open override fun seekStart(value: Float)
Link copied to clipboard
open override fun seekTo(value: Float)
open override fun seekTo(time: Duration)
Link copied to clipboard
open fun seekToChapter(chapter: MediaChapter)
Link copied to clipboard
open fun seekToMs(timeMs: Long)
Link copied to clipboard
open override fun seekToProgress(progress: Float)
Link copied to clipboard
open override fun selectAudioTrack(track: AudioTrack?): TrackSelectionResult
open override fun selectAudioTrack(trackId: String?): TrackSelectionResult
Link copied to clipboard
open fun selectAutoHlsQuality(): HlsQualitySelectionResult
Link copied to clipboard
open override fun selectHlsQuality(variantId: String?): HlsQualitySelectionResult
Link copied to clipboard
open override fun selectSubtitleTrack(track: SubtitleTrack?): TrackSelectionResult
open override fun selectSubtitleTrack(trackId: String?): TrackSelectionResult
Link copied to clipboard
open override fun stop()

Stops playback while retaining the source specification for a later play.

Link copied to clipboard
open override fun toggleFullscreen()

Toggles the fullscreen state of the video player