# Tutorial: 音量大小检测

## 功能描述

本文主要介绍如何做音量大小的检测。

音量大小的判定主要应用在：

- 检测本地麦克风的音量
- 检测远端用户的音量

## 实现步骤

监听RoomCallback.mcu_peerconnection_completed 事件，在该事件里去调用room.audioLevel.start(statsInterval) 开启音量回调方法。

    room.addCallback(RoomCallback.mcu_peerconnection_completed, onMCUPeerConnectionCompleted);

    function onMCUPeerConnectionCompleted() {
        var statsInterval = 500; //sdk语音激励计算频率

        //开启音量回调,并设置每 500ms 触发一次事件
        room.audioLevel.start(statsInterval).then(audioLevelHandler);

        //关闭音量回调
        room.audioLevel.stop();
    }

    function audioLevelHandler() {
        var statsInterval = 500; //应用层语音激励显示频率

        clearInterval(statsIntervalId);
        statsIntervalId = setInterval(
            function() {
                var participants = room.getParticipants();
                if(participants) {
                    participants.forEach(function(user) {
                        if(user.audio) {
                            var volume = user.audio.getAudioLevel();
                            var isMe = user.id === room.selfUser.id; // 当true时，代表本地麦克风音量。
                            if (isMe) {
                                console.log(`my volume: ${volume}`);
                            } else {
                                console.log(`user: ${user.id} volume:{volume}`);
                            }
                        }
                    });
                }
            }, statsInterval);
    }