Constructor
new PlaybackRateSelection(parentnon-null, controlsnon-null)
Parameters:
| Name | Type | Description |
|---|---|---|
parent |
HTMLElement | |
controls |
shaka.ui.Controls |
- Extends:
- Source:
Extends
Classes
Members
SLIDER_STEP :number
Step size used for slider interaction and the +/- buttons.
Type:
- number
- Source:
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:
isMenuOpened_ :boolean
Type:
- boolean
- Overrides:
- Source:
isSubMenu :boolean
Type:
- boolean
- Overrides:
- Implements:
- Source:
isSubMenuOpened :boolean
Type:
- boolean
- Overrides:
- Implements:
- Source:
menu :HTMLElement
Type:
- HTMLElement
- Overrides:
- Implements:
- Source:
menuMutationObserver_ :MutationObserver
Type:
- MutationObserver
- Overrides:
- Source:
mutationObserver_ :MutationObserver
Type:
- MutationObserver
- Overrides:
- Source:
nameSpan :HTMLElement
Type:
- HTMLElement
- Overrides:
- Implements:
- Source:
parent :HTMLElement
Type:
- HTMLElement
- Overrides:
- Implements:
- Source:
resizeObserver_ :ResizeObserver
Type:
- ResizeObserver
- Overrides:
- Source:
resizeRafId_ :number
Type:
- number
- Overrides:
- Source:
videoContainer_ :HTMLElement
Type:
- HTMLElement
- Overrides:
- Source:
Methods
addButton_(iconText)
Parameters:
| Name | Type | Description |
|---|---|---|
iconText |
shaka.extern.UIIcon | string |
- Overrides:
- Source:
addMenu_()
- 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:
buildUI_()
- Source:
formatPresetLabel_(rate) → {string}
Formats a preset rate for display inside a pill button.
Rules
- Comma 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}
inOverflowMenu_()
- Overrides:
- Source:
notifyMenuClose_()
- Overrides:
- Source:
notifyMenuOpen_()
- Overrides:
- Source:
onButtonClick_()
- Overrides:
- Source:
onMenuClose()
- Overrides:
- Source:
onMenuOpen()
- Overrides:
- Source:
stepRate_(delta)
Steps the playback rate by `delta`, snapped to SLIDER_STEP 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: