MCPcopy Create free account
hub / github.com/cloudflare/meet / useAudioLevel

Function useAudioLevel

app/hooks/useAudioLevel.ts:5–21  ·  view source on GitHub ↗
(mediaStreamTrack?: MediaStreamTrack)

Source from the content-addressed store, hash-verified

3
4// adapted from https://jameshfisher.com/2021/01/18/measuring-audio-volume-in-javascript/
5export default function useAudioLevel(mediaStreamTrack?: MediaStreamTrack) {
6 const [audioLevel, setAudioLevel] = useState(0)
7
8 useEffect(() => {
9 if (!mediaStreamTrack) return
10 const cancel = monitorAudioLevel({
11 onMeasure: (v) => setAudioLevel(Math.round(v * 100) / 100),
12 mediaStreamTrack,
13 })
14
15 return () => {
16 cancel()
17 }
18 }, [mediaStreamTrack])
19
20 return Math.min(1, audioLevel * 3)
21}

Callers 2

AudioIndicatorFunction · 0.85
AudioGlowFunction · 0.85

Calls 1

monitorAudioLevelFunction · 0.85

Tested by

no test coverage detected