Interface: PlayerOptions
Options for EvePlayer's constructor. Every field is optional; the defaults produce a controlled, non-autoplaying, responsive player.
Properties
autoplay?
optionalautoplay?:boolean
Start playback automatically once a source is loaded. Default: false.
background?
optionalbackground?:boolean
Decorative "background video" mode, for using the player as a backdrop
behind other UI rather than something a viewer interacts with. Implies
hideControls; also defaults autoplay/muted/loop to true (only
for values not explicitly set), hides the loading spinner and error
overlay, disables the native right-click context menu, and marks the
container aria-hidden. Default: false.
captionSettings?
optionalcaptionSettings?:boolean
Show the "captions settings" entry inside the subtitles/CC menu: the
native Video.js text-track styling dialog (font, colour, background,
edge style…). Default: true. Set to false to drop both the menu entry
and the dialog (passes textTrackSettings: false to Video.js).
chapterMarkers?
optionalchapterMarkers?:boolean
Split the progress bar into one segment per chapter, with a small gap at
each chapter boundary, and show the chapter title above the time while
the mouse hovers the bar. Default: true. Like the chapters button, it only
shows when the current source has a kind: 'chapters' text track with
cues, and it is skipped on live streams. Independent of
PlayerOptions.chapters: either can be turned off without the other.
The gap width is the --eve-chapter-gap CSS variable (default 2px).
chapters?
optionalchapters?:boolean
Show the chapters button in the control bar (the list icon, sitting with
the audio/subtitles menus). Default: true. The button only appears when the
current source actually has a kind: 'chapters' text track with cues; set
to false to remove it even then.
fluid?
optionalfluid?:boolean
Video.js fluid mode: the player takes the container's full width and
derives its height from the media's aspect ratio (16:9 until the media's
dimensions are known), so the box follows the video. With false, the
player is laid out at the media's intrinsic pixel size, and sizing it is up
to your CSS (e.g. .my-player .video-js { width: 100%; height: 100%; }).
Ignored for the box size when widescreen is set, since the 16:9 frame
wins. Default: true.
hideControls?
optionalhideControls?:boolean
Hide the Video.js control bar entirely. Default: false.
hidePlayButton?
optionalhidePlayButton?:boolean
Hide the large centre play-button overlay (the poster stays visible). Default: false.
hideSpeed?
optionalhideSpeed?:boolean
Hide the "Playback speed" section from the settings menu. Default: false.
labels?
optionallabels?:LanguageDictionary
Per-player overrides for UI labels, keyed by the English text of the label
(the same keys as the dictionaries passed to EvePlayer.addLanguage,
listed in the package's lang/en.json), e.g. { 'Settings': 'Options' }.
They win over any registered dictionary, whatever the active language, and
apply to every label: the player's own and the ones it inherits from
Video.js ('Play', 'Mute', …). Change them later with
EvePlayer.setLabels.
language?
optionallanguage?:string
BCP-47 language code for the player's built-in UI labels (e.g. it, fr).
Default: the browser's preferred language. The labels are translated only
if a dictionary for that language was registered with
EvePlayer.addLanguage; a regional code (it-CH) falls back to its
base language (it), and anything still missing stays in English.
loop?
optionalloop?:boolean
Loop playback when it reaches the end. Default: false.
maxBandwidth?
optionalmaxBandwidth?:number
Ceiling, in bits per second, for the same bandwidth estimate — useful to cap network/CDN usage on kiosk or embedded deployments. Same validation as minBandwidth. Default: unset (no ceiling).
minBandwidth?
optionalminBandwidth?:number
Floor, in bits per second, for the bandwidth estimate the "Auto" quality
selector (see docs/adr/0001) uses to pick a rendition — never a hard
filter on which renditions exist. Useful to guarantee a minimum quality
even if the network estimate dips. Must be a finite number > 0, and
minBandwidth <= maxBandwidth when both are set; an invalid value is
ignored (with a console.warn), same as an unset one. Default: unset
(no floor).
muted?
optionalmuted?:boolean
Start muted. Default: false.
This is the initial state only, not a standing instruction: once the
viewer (or the app) unmutes, the player never re-mutes itself, not even
across a source swap or a reset() that rebuilds the underlying tech.
Typically set to true alongside autoplay so browsers allow unattended
playback, then cleared by an unmute control.
pip?
optionalpip?:boolean
Show the custom CSS Picture-in-Picture button in the control bar. Default: true.
pipPlaceholderText?
optionalpipPlaceholderText?:string
Text shown in the in-flow placeholder that holds the player's original
space while PiP is active (the player itself floats away as the PiP
window). The placeholder matches the player's size at the moment PiP is
activated, so surrounding page content doesn't jump. Default:
'Video is playing in picture-in-picture', translated like any other label
(see PlayerOptions.labels). A value set here is used as is and wins
over any translation. Pass an empty string for a blank placeholder that
still reserves the space.
playbackRates?
optionalplaybackRates?:number[]
Playback-speed steps offered in the settings menu. Default: [0.5, 0.75, 1, 1.25, 1.5, 2].
quality?
optionalquality?:boolean
Show the "Quality" section inside the settings menu. Default: true (the section itself is still hidden when fewer than 2 quality levels exist).
settings?
optionalsettings?:boolean
Show the settings (gear) menu in the control bar. Default: true. The gear
is hidden automatically per source unless it has something to offer:
i.e. at least 2 quality levels, or the "Playback speed" section (see
hideSpeed). Set to false to remove it entirely.
showProgressDot?
optionalshowProgressDot?:boolean
Show the scrubber dot at the head of the played portion of the progress bar. Default: false.
showVolumeDot?
optionalshowVolumeDot?:boolean
Show the handle dot at the head of the filled portion of the volume bar. Default: false.
thumbnails?
optionalthumbnails?:boolean
Show a thumbnail-preview popup on progress-bar hover, when the manifest provides a
thumbnail-tile track: DASH (dashif.org "thumbnail_tile" convention) or HLS
(EXT-X-IMAGE-STREAM-INF/EXT-X-TILES). Default: true.
widescreen?
optionalwidescreen?:boolean
Give the container a fixed 16:9 frame (aspect-ratio: 16 / 9; width: 100%,
via the vjsp-widescreen class) and make the player fill it. A video of any
other aspect ratio is letterboxed or pillarboxed in black inside the frame,
so the box never changes size with the media. Useful when the space must be
known before the media loads (a server-rendered placeholder carrying the
same class, a grid or carousel of equal tiles). To use a different frame,
keep this option and override the container's aspect-ratio or height
in your own CSS. Audio-only sources collapse the frame to the control bar.
Default: false.