Limeplay - Open Source Video Player UI ComponentsLimeplay

use-playback-rate

Feature for controlling playback speed.

Installation

npx shadcn add @limeplay/use-playback-rate

Register the feature:

lib/media.ts
"use client"

import { playbackRateFeature } from "@/hooks/limeplay/use-playback-rate"

createMediaKit({
  features: [..., playbackRateFeature()] as const,
})

Store

Access via usePlaybackRateStore(selector):

import { usePlaybackRateStore } from "@/hooks/limeplay/use-playback-rate"

const rate = usePlaybackRateStore((s) => s.value)
const rates = usePlaybackRateStore((s) => s.rates)
const setRate = usePlaybackRateStore((s) => s.setPlaybackRate)

State

FieldTypeDescription
valuenumberCurrent playback rate
ratesnumber[]Available rate options

Actions

MethodDescription
setPlaybackRate(rate)Set playback speed
setTrickplayRate(rate, forced?)Set trickplay rate (Shaka-specific)

Default rates: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2]

Trickplay

Shaka Player supports trickplay — specialized streams optimized for fast-forward/rewind. setTrickplayRate uses this API when available.

Events

EventPayloadWhen
ratechange{ rate }Playback speed changes

On this page