@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
TypeScript
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;