PlaybackRateMenuButton

The component for controlling the playback rate.

Constructor

new PlaybackRateMenuButton(player, optionsopt)

Creates an instance of this class.

Parameters:
Name Type Attributes Description
player Player

The Player that this class should be attached to.

options Object <optional>

The key/value store of player options.

Extends

Members

protected hideThreshold_ :Number

Hide the menu if the number of items is less than or equal to this threshold. This defaults to 0 and whenever we add items which can be hidden to the menu we'll increment it. We list it here because every time we run createMenu we need to reset the value.

Inherited From:

Methods

blur()

Remove the focus from the actual button, not this element

Inherited From:

buildCSSClass() → {string}

Builds the default DOM className.

Returns:
string -

The DOM className for this object.

Overrides:

buildWrapperCSSClass() → {string}

Allow sub components to stack CSS class names for the wrapper element

Returns:
string -

The constructed wrapper DOM className

Overrides:

controlText(textopt, elopt) → {string}

Get or set the localized control text that will be used for accessibility.

NOTE: This will come from the internal menuButton_ element.

Parameters:
Name Type Attributes Default Description
text string <optional>

Control text for element.

el Element <optional>
this.menuButton_.el()

Element to set the title on.

Returns:
string -
  • The control text when getting
Inherited From:

createEl() → {Element}

Create the Component's DOM element

Returns:
Element -

The element that was created.

Overrides:

abstract createItems()

Create the list of menu items. Specific to each subclass.

Inherited From:

createMenu() → {Menu}

Create the playback rate menu

Returns:
Menu -

Menu object populated with PlaybackRateMenuItems

Overrides:

disable()

Disable the MenuButton. Don't allow it to be clicked.

Inherited From:

enable()

Enable the MenuButton. Allow it to be clicked.

Inherited From:

focus()

Set the focus to the actual button, not to this element

Inherited From:

handleBlur(event)

Called when a MenuButton loses focus. Turns off the listener for keydown events. Which Stops this.handleKeyPress from getting called.

Parameters:
Name Type Description
event EventTarget~Event

The blur event that caused this function to be called.

Listens to Events:
  • event:blur
Inherited From:

handleClick(eventopt)

This gets called when an PlaybackRateMenuButton is "clicked". See ClickableComponent for more detailed information on what a click can be.

Parameters:
Name Type Attributes Description
event EventTarget~Event <optional>

The keydown, tap, or click event that caused this function to be called.

Listens to Events:
  • event:tap
  • event:click
Overrides:

handleFocus(event)

This gets called when a MenuButton gains focus via a focus event. Turns on listening for keydown events. When they happen it calls this.handleKeyPress.

Parameters:
Name Type Description
event EventTarget~Event

The focus event that caused this function to be called.

Listens to Events:
  • event:focus
Inherited From:

handleKeyPress(event)

Handle tab, escape, down arrow, and up arrow keys for MenuButton. See ClickableComponent#handleKeyPress for instances where this is called.

Parameters:
Name Type Description
event EventTarget~Event

The keydown event that caused this function to be called.

Listens to Events:
  • event:keydown
Inherited From:

handleSubmenuKeyPress(event)

Handle a keydown event on a sub-menu. The listener for this is added in the constructor.

Parameters:
Name Type Description
event EventTarget~Event

Key press event

Listens to Events:
  • event:keydown
Inherited From:

playbackRates() → {Array}

Get possible playback rates

Returns:
Array -

All possible playback rates

playbackRateSupported() → {boolean}

Get whether playback rates is supported by the tech and an array of playback rates exists

Returns:
boolean -

Whether changing playback rate is supported

pressButton()

Put the current MenuButton into a pressed state.

Inherited From:

unpressButton()

Take the current MenuButton out of a pressed state.

Inherited From:

update()

Update the menu based on the current state of its items.

Inherited From:

updateARIAAttributes()

Updates ARIA accessibility attributes

updateLabel(eventopt)

Update button label when rate changed

Parameters:
Name Type Attributes Description
event EventTarget~Event <optional>

The event that caused this function to run.

Listens to Events:
  • Player#event:ratechange

updateVisibility(eventopt)

Hide playback rate controls when they're no playback rate options to select

Parameters:
Name Type Attributes Description
event EventTarget~Event <optional>

The event that caused this function to run.

Listens to Events: