UNPKG

react-sound-visualizer

Version:

A lightweight wrapper for the sound-visualizer library

31 lines (28 loc) 1.16 kB
import * as sound_visualizer from 'sound-visualizer'; import { DrawCurrentOptions, DrawContinuousOptions } from 'sound-visualizer'; type CurrentOptions = { mode: "current"; } & DrawCurrentOptions; type ContinuousOptions = { mode?: "continuous"; } & DrawContinuousOptions; /** * The options passed to `useVisualizer`. * Also part of the props for `Visualizer`, and the options for `visualizerWrapper`. **/ type UseVisualizerOptions = CurrentOptions | ContinuousOptions; /** * Hook that wraps the `visualizer` functions from `sound-visualizer` with a `useMemo`. * * @param audio the audio to visualize * @param canvas the canvas to draw on * @param options additional options for the `draw` functions. * * @returns either the `VisualizerFunctions` from `sound-visualizer` or an empty object, depending on if `audio` or `canvas` are `null` or not. **/ declare function useVisualizer(audio: MediaStream | null, canvas: HTMLCanvasElement | null, options: UseVisualizerOptions): sound_visualizer.VisualizerFunctions | { start: undefined; stop: undefined; reset: undefined; }; export { type UseVisualizerOptions, useVisualizer };