程序员

如何展示实时音视频通话时正在说话用户的音浪

2022-05-08  本文已影响0人  即构开发者

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开发者帐号,快速开始。

上一篇下一篇

猜你喜欢

热点阅读