UNPKG

@wmik/use-media-recorder

Version:

React based hooks to utilize the media recorder api for audio, video and screen recording

45 lines (40 loc) 1.09 kB
export type Status = | 'idle' | 'acquiring_media' | 'ready' | 'recording' | 'paused' | 'stopping' | 'stopped' | 'failed'; export interface MediaRecorderProps { blobOptions?: BlobPropertyBag; recordScreen?: boolean; customMediaStream?: MediaStream; onStart?: () => void; onStop?: (blob: Blob) => void; onDataAvailable?: (blob: Blob) => void; onError?: (e: Error) => void; mediaRecorderOptions?: object; mediaStreamConstraints: MediaStreamConstraints; } export interface MediaRecorderHookOptions { error: Error | null; status: Status; mediaBlob: Blob | null; isAudioMuted: boolean; stopRecording: () => void; getMediaStream: () => Promise<MediaStream>; clearMediaStream: () => void; clearMediaBlob: () => void; startRecording: (timeSlice?: number) => Promise<void>; pauseRecording: () => void; resumeRecording: () => void; muteAudio: () => void; unMuteAudio: () => void; liveStream: MediaStream; } declare function useMediaRecorder( options: MediaRecorderProps ): MediaRecorderHookOptions; export default useMediaRecorder;