MediaItem
What to play.
Constructors
Properties
What the item's sound is, for the platform's sound processing: see AudioContent. The default declares a film when the item shows a picture, cover art aside, and music when it shows none. Name AudioContent.Speech for a podcast or an audiobook.
An audio filter chain attached at open: a raw FFmpeg chain like volume=0.5 or loudnorm. Every decoded audio buffer runs through it before the engine's own stages, so it works on untagged files, keeps pitch and speed apart, and can change the level or the key. Keep the chain's timing consistent with the audio it takes in; the buffers it gives back carry the timestamps FFmpeg puts on them. The web build has no filter graphs, so there an item with one fails to open with PlaybackError.ConfigurationInvalid rather than playing without it.
The part of the file this item is, or null for the whole file: a track of an album ripped to one file, a chapter played on its own, or any clip of a longer file (#456). The item is then an item of the clip's length, and every position and length the player reports for it counts from the clip's start. See MediaClip.
Typed settings for opening the container: how far to probe, what to do with damaged packets, low latency, and bytes to skip at the start. The default changes nothing. See DemuxPolicy.
Subtitle files to load alongside the media. Local SubRip and WebVTT files become selectable synthetic subtitle tracks; see SubtitleSource for the exact contract.
The demuxer to open the item with, by FFmpeg name, for example "mpegts" or "s16le". Almost never needed: probing is reliable.
Marks the file as still being written, as a recording in progress, a download that plays while it arrives or a TV recorder's file is (#430), or null, the default, for a file that is complete. See FileGrowth.
Request headers, for the http and https protocols. Passed to a configured or automatic MediaIoResolver when it supplies the transport. An external subtitle gets them only when it has the same scheme, host and port as uri; see SubtitleSource.
Read the bytes through your own code instead of through FFmpeg's protocols.
Demuxer options applied between allocation and open, the only moment probesize, fflags, format forcing and protocol options can act. Passed straight to the source's pre-open funnel; a key the demuxer does not consume is reported rather than silently dropped.
Where to start. Null means the beginning, or the container's own start time. With a clip it counts from the clip's start, as every position of a clipped item does, and null means the clip's start.
A WebVTT thumbnail file whose pictures a seek bar shows for this item, or null (#433). A stream that carries thumbnails of its own needs none: KitePlayer.thumbnailAt answers from this file when it is set, and from the stream otherwise. See ThumbnailSource.
A video filter chain attached at open: a compiled filter description, or a raw FFmpeg chain like scale=1280:720,eq=brightness=0.1. Every decoded frame runs through it before presentation. Filters run on SOFTWARE frames: under HwdecPolicy.Auto or Prefer the hardware route stands down with a warning, and under Require the video track is refused, because both demands cannot hold at once. Timebase-preserving chains only (scale, crop, eq, format and friends); runtime hot-swap is a documented non-goal.