Ensure hand raised uses the same volume

This commit is contained in:
Half-Shot
2024-11-07 16:42:51 +00:00
committed by Robin
parent 06a02b4dd8
commit a6683b230c

View File

@@ -85,7 +85,11 @@ import handSoundOgg from "../sound/raise_hand.ogg?url";
import handSoundMp3 from "../sound/raise_hand.mp3?url"; import handSoundMp3 from "../sound/raise_hand.mp3?url";
import { ReactionsAudioRenderer } from "./ReactionAudioRenderer"; import { ReactionsAudioRenderer } from "./ReactionAudioRenderer";
import { useSwitchCamera } from "./useSwitchCamera"; import { useSwitchCamera } from "./useSwitchCamera";
import { showReactions, useSetting } from "../settings/settings"; import {
soundEffectVolumeSetting,
showReactions,
useSetting,
} from "../settings/settings";
const canScreenshare = "getDisplayMedia" in (navigator.mediaDevices ?? {}); const canScreenshare = "getDisplayMedia" in (navigator.mediaDevices ?? {});
@@ -182,6 +186,7 @@ export const InCallView: FC<InCallViewProps> = ({
onShareClick, onShareClick,
}) => { }) => {
const [shouldShowReactions] = useSetting(showReactions); const [shouldShowReactions] = useSetting(showReactions);
const [soundEffectVolume] = useSetting(soundEffectVolumeSetting);
const { supportsReactions, raisedHands, reactions } = useReactions(); const { supportsReactions, raisedHands, reactions } = useReactions();
const raisedHandCount = useMemo( const raisedHandCount = useMemo(
() => Object.keys(raisedHands).length, () => Object.keys(raisedHands).length,
@@ -344,11 +349,17 @@ export const InCallView: FC<InCallViewProps> = ({
return; return;
} }
if (previousRaisedHandCount < raisedHandCount) { if (previousRaisedHandCount < raisedHandCount) {
handRaisePlayer.current.volume = soundEffectVolume;
handRaisePlayer.current.play().catch((ex) => { handRaisePlayer.current.play().catch((ex) => {
logger.warn("Failed to play raise hand sound", ex); logger.warn("Failed to play raise hand sound", ex);
}); });
} }
}, [raisedHandCount, handRaisePlayer, previousRaisedHandCount]); }, [
raisedHandCount,
handRaisePlayer,
previousRaisedHandCount,
soundEffectVolume,
]);
useEffect(() => { useEffect(() => {
widget?.api.transport widget?.api.transport