UNPKG

@mirawision/reactive-hooks

Version:

A comprehensive collection of 50+ React hooks for state management, UI interactions, device APIs, async operations, drag & drop, audio/speech, and more. Full TypeScript support with SSR safety.

39 lines (38 loc) 1.1 kB
export interface AudioOptions { autoPlay?: boolean; } export interface AudioState { audioRef: React.RefObject<HTMLAudioElement>; playing: boolean; currentTime: number; duration: number; volume: number; muted: boolean; play: () => Promise<void>; pause: () => void; stop: () => void; seek: (time: number) => void; setVolume: (volume: number) => void; setMuted: (muted: boolean) => void; load: (src: string) => void; } /** * A hook that provides full control over HTML5 audio playback. * @param src Initial audio source URL * @param opts Configuration options * @returns Object containing audio state and control functions * * @example * const { audioRef, playing, play, pause, currentTime, duration } = useAudio('/audio.mp3'); * * return ( * <div> * <audio ref={audioRef} /> * <button onClick={playing ? pause : play}> * {playing ? 'Pause' : 'Play'} * </button> * <span>{currentTime}s / {duration}s</span> * </div> * ); */ export declare function useAudio(src?: string, opts?: AudioOptions): AudioState;