media-recorder-hooks
Version:
React hooks para gerenciar dispositivos de mídia, permissões e streams para aplicações de videoconferência
37 lines (36 loc) • 1.25 kB
TypeScript
interface UseUserMediaOptions {
preferEnvironmentCamera?: boolean;
}
interface PermissionResult {
video: boolean;
audio: boolean;
}
interface SwitchInputResult {
oldVideoTrack: MediaStreamTrack;
newVideoTrack: MediaStreamTrack;
oldAudioTrack: MediaStreamTrack;
newAudioTrack: MediaStreamTrack;
newStream: MediaStream;
}
declare const useUserMedia: ({ preferEnvironmentCamera }?: UseUserMediaOptions) => {
stream: MediaStream | undefined;
activeStream: MediaStream | undefined;
audioDevices: MediaDeviceInfo[];
videoDevices: MediaDeviceInfo[];
outputDevices: MediaDeviceInfo[];
selectedAudioDevice: string | undefined;
selectedVideoDevice: string | undefined;
selectedOutputDevice: string | undefined;
ready: boolean;
accessGranted: boolean;
switchInput: (deviceId: string, type: 'audio' | 'video') => Promise<SwitchInputResult | undefined>;
stopStreaming: (_stream?: MediaStream) => void;
stopAllStreaming: () => Promise<void>;
toggleMute: () => void;
toggleVideo: () => void;
switchAudioOutput: (deviceId: string) => void;
muted: boolean;
videoOff: boolean;
checkPermission: () => Promise<PermissionResult>;
};
export default useUserMedia;