当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-05-30
在 K 歌场景中,经常需要拉多路流并显示其中正在讲话的用户,我们需要甄别用户是否说话、说话音量大小(音浪),并在 UI 上展示。 1 概述 在 K 歌场景中,经常需要拉多路流并显示
在 K 歌场景中,经常需要拉多路流并显示其中正在讲话的用户,我们需要甄别用户是否说话、说话音量大小(音浪),并在 UI 上展示。
1 概述

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

2 源码下载

下载示例源码
参考文件: src/Examples/AdvancedAudioProcessing/SoundLevelAndAudioSpectrum

3 环境准备

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

  • 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频功能,详情请参考 快速开始 - 集成 和 快速开始 - 实现流程。
  • 已在 ZEGO 控制台 创建项目,并申请有效的 AppID,详情请参考 控制台 - 项目管理 中的“项目信息”。
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开发者帐号,快速开始。

音视频场景解决方案分享,更多详情可搜索官网(https://zegoguanwang.datasink.sensorsdata.cn/t/pB)
上一篇:Switch分支结构
下一篇:没有了
网友评论