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);
}