Skip to main content
Controls the playback speed. Required by PlaybackRateButton.

Import

import { playbackRate, selectPlaybackRate } from '@videojs/react';
// or
import { playbackRate, selectPlaybackRate } from '@videojs/html';

Usage

import { createPlayer, playbackRate } from '@videojs/react';

const Player = createPlayer({
  features: [playbackRate],
});

State

playbackRate
number
Current playback speed. 1 is normal speed, 2 is double speed, 0.5 is half speed.
playbackRates
readonly number[]
The list of available playback rate options presented to the user.

Actions

setPlaybackRate(rate)
(rate: number) => void
Set the playback speed to the given rate.

Selector

Use selectPlaybackRate to subscribe to only the playback rate slice of state. Returns undefined if the playbackRate feature is not configured.
import { selectPlaybackRate, usePlayer } from '@videojs/react';

function RateSelector() {
  const rate = usePlayer(selectPlaybackRate);
  if (!rate) return null;

  return (
    <select
      value={rate.playbackRate}
      onChange={(e) => rate.setPlaybackRate(Number(e.target.value))}
    >
      {rate.playbackRates.map((r) => (
        <option key={r} value={r}>{r}x</option>
      ))}
    </select>
  );
}
Required by: PlaybackRateButton

Build docs developers (and LLMs) love