// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { useState, useEffect } from 'react'; import { DefaultActiveSpeakerPolicy } from 'amazon-chime-sdk-js'; import { useAudioVideo } from '../providers/AudioVideoProvider'; 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; }