1 概述

在 K 歌场景中,经常需要拉多路流并显示其中正在讲话的用户,我们需要甄别用户是否说话、说话音量大小(音浪),并在 UI 上展示,如图:

2 源码下载

下载示例源码

参考文件: src/Examples/AdvancedAudioProcessing/SoundLevelAndAudioSpectrum

3 环境准备

在监听音量变化功能之前,需确保:

4 使用步骤

4.1 监听音浪回调接口

注册 soundLevelUpdate 回调,接收流音量大小的变化。

音浪即某条流音量的大小。

zg.on('soundLevelUpdate', (streamList) => {
    streamList.forEach(stream => {
        stream.type == 'push' && $('#soundLevel').html(Math.round(stream.soundLevel) + '');
        console.warn(`${stream.type} ${stream.streamID}, soundLevel: ${stream.soundLevel}`);
    });
});

4.2 启动音浪监听

调用 setSoundLevelDelegate接口启动监听音量大小,设置音浪回调间隔时间。

zg.setSoundLevelDelegate(true, 1000);

4.3 停止声浪监听

调用 setSoundLevelDelegate 接口停止监听音量大小。

zg.setSoundLevelDelegate(false);

5 API 参考列表

方法 描述
soundLevelUpdate 音浪回调
setSoundLevelDelegate 设置是否监听音浪及音浪回调间隔时间

结语

获取本文的Demo、开发文档、技术支持。

获取SDK的商务活动、热门产品。

注册即构ZEGO开发者帐号,快速开始。