--- title: Playback rate description: Playback speed state and actions for the player store --- import UtilReference from "@/components/docs/api-reference/UtilReference.astro"; import DocsLink from "@/components/docs/DocsLink.astro"; import FrameworkCase from "@/components/docs/FrameworkCase.astro"; Controls speed of playback. ## State | State | Type | Description | |---|---|---| | `playbackRate` | `number` | Current playback speed (1 = normal) | | `playbackRates` | `readonly number[]` | Available playback rates | ## Actions | Action | Description | |---|---| | `setPlaybackRate(rate)` | Set the playback speed | ## Selector Pass `selectPlaybackRate` to `usePlayer` to subscribe to playback rate state. Returns `undefined` if the playback rate feature is not configured. Pass `selectPlaybackRate` to `PlayerController` to subscribe to playback rate state. Returns `undefined` if the playback rate feature is not configured. ```tsx title="RateDisplay.tsx" import { selectPlaybackRate, usePlayer } from '@videojs/react'; function RateDisplay() { const rate = usePlayer(selectPlaybackRate); if (!rate) return null; return {rate.playbackRate}x; } ``` ```ts title="rate-display.ts" import { createPlayer, MediaElement, selectPlaybackRate } from '@videojs/html'; import { videoFeatures } from '@videojs/html/video'; const { PlayerController, context } = createPlayer({ features: videoFeatures }); class RateDisplay extends MediaElement { readonly #rate = new PlayerController(this, context, selectPlaybackRate); } ```