@audiowave/react
Version:
React audio visualization component
35 lines • 1.6 kB
TypeScript
import { AudioSource } from '../types/AudioSource';
export type AudioSourceInput = MediaStream | HTMLMediaElement | HTMLAudioElement | HTMLVideoElement | AudioNode | AudioSource | null;
export interface UseMediaAudioOptions {
/** Audio source to manage (any supported type) */
source?: AudioSourceInput;
/** Callback function triggered on error */
onError?: (error: Error) => void;
}
export interface UseMediaAudioReturn {
/** Standardized AudioSource for AudioWave component */
source: AudioSource | null;
/** Any error that occurred */
error: Error | null;
}
/**
* Universal audio source management hook
*
* Perfect for integrating with external recording software, media players,
* or any application that already has audio sources and just needs visualization.
*/
export declare function useMediaAudio(options?: UseMediaAudioOptions): UseMediaAudioReturn;
/**
* Hook specifically for MediaStream sources
*/
export declare function useMediaStreamSource(stream: MediaStream | null, options?: Omit<UseMediaAudioOptions, 'source'>): UseMediaAudioReturn;
/**
* Hook specifically for HTMLMediaElement sources (audio/video files)
*/
export declare function useMediaElementSource(element: HTMLMediaElement | null, options?: Omit<UseMediaAudioOptions, 'source'>): UseMediaAudioReturn;
/**
* Hook specifically for AudioNode sources
*/
export declare function useAudioNodeSource(node: AudioNode | null, options?: Omit<UseMediaAudioOptions, 'source'>): UseMediaAudioReturn;
export { useMediaAudio as useAudioSource };
//# sourceMappingURL=useMediaAudio.d.ts.map