This commit is contained in:
David Baker 2022-05-06 21:27:07 +01:00
parent 1253638861
commit 7e5610eb36

View file

@ -2,7 +2,13 @@ import { useCallback, useEffect, useState } from "react";
export function usePTT(client, groupCall, userMediaFeeds) { export function usePTT(client, groupCall, userMediaFeeds) {
const [ const [
{ pttButtonHeld, isAdmin, talkOverEnabled, activeSpeakerUserId, unmuteError }, {
pttButtonHeld,
isAdmin,
talkOverEnabled,
activeSpeakerUserId,
unmuteError,
},
setState, setState,
] = useState(() => { ] = useState(() => {
const roomMember = groupCall.room.getMember(client.getUserId()); const roomMember = groupCall.room.getMember(client.getUserId());
@ -49,13 +55,17 @@ export function usePTT(client, groupCall, userMediaFeeds) {
}, [userMediaFeeds]); }, [userMediaFeeds]);
const startTalking = useCallback(async () => { const startTalking = useCallback(async () => {
setState((prevState) => ({ ...prevState, pttButtonHeld: true, unmuteError: null, })); setState((prevState) => ({
...prevState,
pttButtonHeld: true,
unmuteError: null,
}));
if (!activeSpeakerUserId || isAdmin || talkOverEnabled) { if (!activeSpeakerUserId || isAdmin || talkOverEnabled) {
if (groupCall.isMicrophoneMuted()) { if (groupCall.isMicrophoneMuted()) {
try { try {
await groupCall.setMicrophoneMuted(false); await groupCall.setMicrophoneMuted(false);
} catch (e) { } catch (e) {
setState((prevState) => ({ ...prevState, unmuteError: null, })); setState((prevState) => ({ ...prevState, unmuteError: null }));
} }
} }
} }