FrameworkStyle

media-playback-rate-button

A button that cycles through playback speed rates

Anatomy

<media-playback-rate-button></media-playback-rate-button>

Behavior

Cycles through playback rates on click. The default rate list is [1, 1.2, 1.5, 1.7, 2]. After the last rate, it wraps back to the first. If the current rate isn’t in the list (e.g., set programmatically), the button jumps to the next rate greater than the current one.

Styling

Display the current rate using the data-rate attribute:

media-playback-rate-button::after {
  content: attr(data-rate) "\00D7";
}

Accessibility

Renders a <button> with an automatic aria-label of "Playback rate {rate}" (e.g., "Playback rate 1.5"). Override with the label prop. Keyboard activation: Enter / Space.

Examples

Basic Usage

<video-player class="html-playback-rate-button-basic">
    <video
        src="https://stream.mux.com/lhnU49l1VGi3zrTAZhDm9LUUxSjpaPW9BL4jY25Kwo4/highest.mp4"
        autoplay
        muted
        playsinline
        loop
    ></video>
    <media-playback-rate-button class="html-playback-rate-button-basic__button">
    </media-playback-rate-button>
</video-player>

API Reference

Props

Prop Type Default
disabled boolean false
label string | function ''

State

State is reflected as data attributes for CSS styling.

Property Type
rate number

Data attributes

Attribute Type
data-rate number
VideoJS