Class: shaka.ui.PlaybackRateSelection

Constructor

new PlaybackRateSelection(parentnon-null, controlsnon-null)

Parameters:
Name Type Description
parent HTMLElement
controls shaka.ui.Controls
Extends:
Source:

Extends

Classes

Factory

Members

backButton :HTMLButtonElement

Type:
  • HTMLButtonElement
Overrides:
Implements:
Source:

backSpan :HTMLElement

Type:
  • HTMLElement
Overrides:
Implements:
Source:

button :HTMLButtonElement

Type:
  • HTMLButtonElement
Overrides:
Implements:
Source:

currentSelection :HTMLElement

Type:
  • HTMLElement
Overrides:
Implements:
Source:

decreaseButton_ :HTMLButtonElement

Type:
  • HTMLButtonElement
Source:

increaseButton_ :HTMLButtonElement

Type:
  • HTMLButtonElement
Source:

isInMenuGroup :boolean

True when the element is a child of a shaka.ui.MenuGroup.
Type:
  • boolean
Overrides:
Implements:
Source:

isMenuOpened_ :boolean

Type:
  • boolean
Overrides:
Source:

isSubMenu :boolean

Type:
  • boolean
Overrides:
Implements:
Source:

isSubMenuOpened :boolean

Type:
  • boolean
Overrides:
Implements:
Source:
Type:
  • HTMLElement
Overrides:
Implements:
Source:
Type:
  • MutationObserver
Overrides:
Source:

mutationObserver_ :MutationObserver

Type:
  • MutationObserver
Overrides:
Source:

nameSpan :HTMLElement

Type:
  • HTMLElement
Overrides:
Implements:
Source:

parent :HTMLElement

Type:
  • HTMLElement
Overrides:
Implements:
Source:

playbackRateMark_ :HTMLElement

Type:
  • HTMLElement
Source:

resizeObserver_ :ResizeObserver

Type:
  • ResizeObserver
Overrides:
Source:

resizeRafId_ :number

Type:
  • number
Overrides:
Source:

speedValue_ :HTMLElement

Type:
  • HTMLElement
Source:

videoContainer_ :HTMLElement

Type:
  • HTMLElement
Overrides:
Source:

Methods

addButton_(iconText)

Parameters:
Name Type Description
iconText shaka.extern.UIIcon | string
Overrides:
Source:

adjustMenuStyle(menuElementnon-null, buttonElementnon-null, controlsContainernon-null)

Shared positioning algorithm used by both OverflowMenu and SettingsMenu. Computes: - maxHeight so the menu does not overflow the video container vertically. - left/right offset so the menu stays within the controls bar horizontally, aligned with the button that opened it.
Parameters:
Name Type Description
menuElement HTMLElement The floating menu div to position.
buttonElement HTMLElement The button that triggered the menu.
controlsContainer HTMLElement The bottom controls bar used as the horizontal reference.
Overrides:
Source:

applyRate_(rate)

Parameters:
Name Type Description
rate number
Source:

dispatchSubMenuEvent_(type)

Notifies the elements that share this submenu's container, so they hide or show their buttons. Other menu levels are not affected.
Parameters:
Name Type Description
type string
Overrides:
Source:

focusOnMenuOpen()

Moves the focus into the menu after it is opened.
Overrides:
Source:

formatPresetLabel_(rate) → {string}

Formats a preset rate for display inside a pill button. Rules - Period as decimal separator. - Always at least one decimal place (e.g. 1 to "1.0", 3 to "3.0").
Parameters:
Name Type Description
rate number
Source:
Returns:
Type
string

getSliderRange_() → {{min: number, max: number}}

Returns the effective slider range. Normally this is [playbackRateSliderMin, playbackRateSliderMax] from the config. If the current rate was set programmatically outside that range, the bounds are extended just enough to keep the thumb visible.
Source:
Returns:
Type
{min: number, max: number}

shouldCloseOnMenuClick(eventnon-null) → {boolean}

Whether a click inside a submenu closes it and returns to its parent. By default any click does, since it usually chooses an item.
Parameters:
Name Type Description
event Event
Overrides:
Source:
Returns:
Type
boolean

stepRate_(delta)

Steps the playback rate by `delta`, snapped to `config.playbackRateSliderStep` and clamped to the configured [playbackRateSliderMin, playbackRateSliderMax] range. Snapping the current rate to the step grid before adding delta ensures that a programmatic value like 0.97 is brought back onto the grid (0.95 or 1.00) on the next user interaction rather than accumulating floating-point drift.
Parameters:
Name Type Description
delta number
Source:

updateColors_()

Source:

updatePlaybackRateSelection_()

Syncs slider range/value, live value label, step-button disabled state, and preset-pill highlights to the current player rate.
Source:

updateStep_()

Source: