useAudioLevelObserver(params) : void
The onVolumeChange callback runs when the observed participant’s audio level changes, letting you respond to volume changes — for example, to drive a visual indicator.
Parameters
The participant’s sessionId for which audio level should be observed.
A callback reference to run when the track’s volume level changes.
A callback reference to run when local audio level observer is not available in the current browser.
The interval in milliseconds at which the volume level is checked (minimum: 100).
Example
import {
useAudioLevelObserver,
useLocalSessionId,
} from '@daily-co/daily-react';
import { useCallback, useRef } from 'react';
export const MicVolumeVisualizer = () => {
const localSessionId = useLocalSessionId();
const volRef = useRef(null);
useAudioLevelObserver(
localSessionId,
useCallback((volume) => {
// this volume number will be between 0 and 1
// give it a minimum scale of 0.15 to not completely disappear 👻
volRef.current.style.transform = `scale(${Math.max(0.15, volume)})`;
}, [])
);
// Your audio track's audio volume visualized in a small circle,
// whose size changes depending on the volume level
return (
<div>
<div className="vol" ref={volRef} />
<style jsx>{`
.vol {
border: 1px solid black;
border-radius: 100%;
height: 32px;
transition: transform 0.1s ease;
width: 32px;
}
`}</style>
</div>
);
};
See also