ComponentmediaZero dependenciesZero dependencies

Use Ticket Audio

SSR-safe WebAudio helper for stamp/punch feedback sounds: lazy AudioContext, volume control, and reduced-motion guard.

Preview

Preview not available.

Installation

Tokens guide →

Add to your project via CLI (zero dependencies, code you own):

npx bigbullui add use-ticket-audio

Or install the full npm package:

npm install bigbullui
import { useTicketAudio } from "@/components/ui/lib/use-ticket-audio";

const { muted, toggle } = useTicketAudio({ src: "/sounds/stamp.mp3" });
<button onClick={toggle}>{muted ? "Muted" : "Sound on"}</button>

Props

PropTypeDescription
options?.srcstringOptional audio file URL, lazily created on mount.
options?.initialMutedbooleanInitial mute state (default false).
result.audioRefReact.RefObject<HTMLAudioElement | null>Bound audio element ref for custom players.
result.mutedbooleanCurrent mute state.
result.setMuted(muted: boolean) => voidSet mute state directly.
result.toggle() => voidFlip mute state.