import { useEffect, useRef } from 'react'; export default function useCustomAudioRef({ setIsPlaying, }: { setIsPlaying: (isPlaying: boolean) => void; }) { const audioRef = useRef(null); useEffect(() => { const handleEnded = () => { setIsPlaying(false); console.log('message audio ended'); if (audioRef.current) { URL.revokeObjectURL(audioRef.current.src); } }; const handleStart = () => { setIsPlaying(true); console.log('message audio started'); }; const handlePause = () => { setIsPlaying(false); console.log('message audio paused'); }; const audioElement = audioRef.current; if (audioRef.current) { audioRef.current.muted = true; audioRef.current.addEventListener('ended', handleEnded); audioRef.current.addEventListener('play', handleStart); audioRef.current.addEventListener('pause', handlePause); } return () => { if (audioElement) { audioElement.removeEventListener('ended', handleEnded); audioElement.removeEventListener('play', handleStart); audioElement.removeEventListener('pause', handlePause); URL.revokeObjectURL(audioElement.src); } }; }, [setIsPlaying]); return { audioRef }; }