export default function useActiveSpeakers()

in src/hooks/useActiveSpeakers.tsx [9:34]


export default function useActiveSpeakers() {
  const [activeSpeakerIds, setActiveSpeakerIds] = useState<string[]>([]);
  const audioVideo = useAudioVideo();
  
  useEffect(() => {
    if (!audioVideo) {
      return;
    }
    const callback = (activeSpeakers: string[]): void => {
      setActiveSpeakerIds(activeSpeakers);
    };

    audioVideo.subscribeToActiveSpeakerDetector(
      new DefaultActiveSpeakerPolicy(),
      callback
    );

    return () => {
      audioVideo.unsubscribeFromActiveSpeakerDetector(
        callback
      );
    };
  }, [audioVideo]);

  return activeSpeakerIds;
}