UNPKG

react-mic-cam-permissions

Version:

Managing camera and microphone permissions with React

40 lines (31 loc) 1.26 kB
// src/hooks/useMicrophonePermission.ts import { useState, useEffect } from 'react'; import { PermissionManager, PermissionState } from '../PermissionManager'; export function useMicrophonePermission() { const [permissionState, setPermissionState] = useState<PermissionState>('prompt'); const permissionManager = PermissionManager.getInstance(); useEffect(() => { // Mettre à jour l'état initial setPermissionState(permissionManager.getMicrophoneState()); // Fonction de rappel pour les mises à jour const handlePermissionChange = (state: PermissionState) => { setPermissionState(state); }; // Ajouter l'écouteur permissionManager.addMicrophoneListener(handlePermissionChange); // Nettoyer l'écouteur lors du démontage return () => { // Pas de méthode pour supprimer l'écouteur dans cet exemple simple // Vous pouvez implémenter une méthode pour supprimer l'écouteur si nécessaire }; }, [permissionManager]); const requestPermission = async () => { const state = await permissionManager.requestMicrophonePermission(); setPermissionState(state); return state; }; return { permissionState, requestPermission, }; }