2021年,即构SDK每月迭代如期而至。今年,我们会着重介绍每月SDK的重要新增功能,让大家更清晰的了解到这些新功能的特性及应用场景。

重点新增功能

多人语音通话场景下的焦点语音功能

功能介绍

即构SDK1月新增焦点语音功能,适用于超多人语音通话场景,在多人同时说话的嘈杂环境下,依旧能聚焦特定用户的语音。支持开启多路混音模式,开发者通过设定拉流端在多路混音时要突出的目标流声音,实现特定用户语音的聚焦。

适用场景

随着疫情的反弹,全国各地中小学陆续叫停了线下教学活动,转而用空中课堂等线上的方式完成日常教学。因而,搭建一个尽可能还原现实课堂的线上教课空间,是实现高效教学的关键。

空中课堂一般为学校课程的线上化,不仅课堂人数规模大,还有像朗读、体育、音乐等此前未大规模线上化的课程,因此需要根据学科特色持续不断的优化空中课堂教学效果。以朗诵为例,既有单人朗读,也有学生齐声诵读的场景,在多人同时朗读时,老师需要分辨出不同学生的声音,进而提供针对性的指导。

即构“焦点语音”功能,让多个学生朗读时,也可实现聚焦特定学生声音。在热烈的课堂氛围中保证老师与学生以自然的方式进行互动,助力“空中课堂”实现高效的课堂教学监督,展现线上教学系统的优势。

功能优势

即构焦点语音功能,解决了空中课堂等线上教育场景下,教师同时监督多位学生朗读和学习状态的痛点。

从技术角度看,当一个线上教学课堂内有N个连麦通话的人,则课堂上每位成员的设备系统会输出 N-1 条音频流的数据。此时,降低设备性能开销和识别特定的说话人员,是首要考虑的技术难点。即构推出了多路混音模式,通过后台混音机制,降低用户拉取多路音频流带来的设备性能开销,同时提供突出音频流的列表,聚焦在特定的用户说话声音上,在喧闹的环境中仍支持清晰的语音通话。

其他新增功能

1.新增多种音效效果

SetVoicePreset 接口新增多种预设声音音效:清澈、高亢、嘹亮、饱满、假音、圆润、低沉、浑厚、女活力,增加实时语音趣味性。

SetReverbPreset 接口新增多种预设混响音效:嘻哈、飘渺、3D人声、留声机,可用于烘托房间氛围。

2.视频内部采集新增支持设置旋转角度

推流端启用视频内部采集旋转功能,可设置视频输出的画面方向。在教育场景中,可调整使用高拍仪设备的拍摄角度,达到教师端与学生端画面视角观看一致的体验。

新增接口 SetCaptureFrameRotation,设置逆时针旋转 0°(默认值)、90°、180°、270°,支持在推流过程中使用。

3.新增本端设备摄像头状态回调 (Windows)

新增摄像头状态回调功能,当本端设备的摄像头发生改变时,可获取相关的状态变化事件,可用于判断摄像头设备是否正常工作。

4.拉流质量回调新增音频和视频卡顿统计指标

新增多个拉流质量回调指标:音频和视频卡顿累计次数、音频和视频卡顿累计时长、音频和视频解码累计时长。方便开发者了解拉流端在 RTC 通话场景中音频和视频的质量,通过数据洞悉业务表现。

此外,还新增了流控触发模式、摄像头权限状态查询、设置系统声卡采集音量、设置拉流缓存区间值等多项功能,实现更优质的音视频体验。完整的SDK迭代内容,欢迎进入“ZEGO-开发者中心”查看。

即构SDK新增焦点语音功能,可实现特定用户语音的聚焦的更多相关文章

  1. Android Studio快速集成讯飞SDK实现文字朗读功能

    今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即“从文本到语音” ...

  2. android-使用环信SDK开发即时通信功能及源代码下载

    近期项目中集成即时聊天功能.挑来拣去,终于选择环信SDK来进行开发,选择环信的主要原因是接口方便.简洁.说明文档清楚易懂.文档有android.ios.和后台server端.还是非常全的. 环信官网: ...

  3. 更新日志 - BugHD 新增邮件告警功能

    最近 BugHD 又新增了一些功能,包括邮件告警. issue 分享. issue 备注等,同时也做了性能优化.希望能够帮助你更高效地收集解决应用崩溃. BugHD 新增功能 1.邮件告警 除了 We ...

  4. 使用最新的“huihui中文语音库”实现文本转语音功能

    最近一个web项目中,需要进行语音播报,将动态的文字转换为语音(TTS)存为WAV文件后通过web播放给用户.选择了微软所提供的SAPI (The Microsoft Speech API),只需要几 ...

  5. c#调用语音功能

    转自 http://www.cnblogs.com/Hans2Rose/p/WeatherSpeaker.html .Net里面自带了一个语音类库:System.Speech,调用系统的语音功能,就能 ...

  6. 为JQuery EasyUI 表单组件增加“焦点切换”功能

    1.背景说明 在使用 JQuery  EasyUI 各表单组件时,实际客户端页面元素是由 JQuery EasyUI 生成的,元素的焦点切换,虽然 Tab 键可以正常用,但顺序控制属性 tabinde ...

  7. RDIFramework.NET V3.3 Web框架主界面新增横向菜单功能

    功能描述 响应重多客户的要求与心声,RDIFramework.NET框架Web版本主界面新增横向菜单功能.横向菜单更加直观,用户可操作与展示的空间更多,符合实际应用要求. 一.效果展示 最终界面效果: ...

  8. UWP-开发一个具有闹钟,天气预报,翻译,语音功能的Demo

    UWP即Windows 10中的Universal Windows Platform简称.即Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/ ...

  9. Java第十二次作业:什么是一维数组?什么是对象数组?吃金币游戏2.0版 新增炸弹功能 新增游戏倒计时功能 新增胜利失败检测功能 使用如鹏游戏引擎制作窗体 一维数组设置金币

    什么是数组? 数组的定义:是用统一的名字代表这批数据,用序号来区分各个数据.数组是无序的数据元素按有序的下标组成的集合,分配固定空间大小的一种容器. 如何理解:其实就是一个同时放很多数据的变量. a= ...

  10. 咏南中间件新增MORMOT插件功能

    咏南中间件新增MORMOT插件功能 咏南中间件支持DATASNAP和MORMOT两种通讯框架. 原来已经支持DATASNAP插件,现在又增加了MORMOT插件,已经支持DATASNAP和MORMOT两 ...

随机推荐

  1. 解决flex布局中justify-content设置成space-between后因数据问题导致最后一行布局错乱

    在常用的flex布局中,当页面展示商品时,因为数据的不确定,导致justify-content设置成space-between,最后一行布局错乱 1 <!DOCTYPE html> 2 & ...

  2. 常见API使用

    String类 字符串相关的类 Java程序中的所有字符串文字(例如"abc")都实现为此类的实例 字符串是不变的 他们的值在创建后无法更改 int length() 返回字符串对 ...

  3. 批量更新Postgresql的序列

    序列(sequence)是 PostgreSQL 中的一种对象,用于生成自动递增的唯一标识符.通常,序列会与表的自增主键一起使用,以确保每个新插入的行都有一个唯一的标识符.在某些情况下,可能需要更新序 ...

  4. 实现异步操作CompletableFuture

    多个线程异步操作后统一返回执行结果AtomicReference<RespVo> event = new AtomicReference<>(); AtomicReferenc ...

  5. Godot报错 Node not found: "SubViewport"[一问随笔]

    问题: 使用TextureRect显示SubViewport的内容,结果发生了如下报错 E 0:00:01:0007 get_node: Node not found: "SubViewpo ...

  6. 2022年5月5日模拟赛题解与总结(ABC237)

    总结 初一第一,竞赛班第二 还可以,为了照顾提高班来的四个同学放了四个水题,可惜他们做的不是很理想,希望他们下次可以获得满意的成绩 这次做的其实是 AtCoder ABC237 A.Not Overf ...

  7. 2022-09-14:以下go语言代码输出什么?A:0 0;B:0 1;C:1 1;D:1 0。 package main func main() { println(f(1)) } func

    2022-09-14:以下go语言代码输出什么?A:0 0:B:0 1:C:1 1:D:1 0. package main func main() { println(f(1)) } func f(x ...

  8. 2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。 package main import “fmt“ func main() { slice := []i

    2022-08-03:以下go语言代码输出什么?A:2:B:3:C:1:D:0. package main import "fmt" func main() { slice := ...

  9. rust 中 str 与 String; &str &String

    String String 类型的数据和基本类型不同,基本类型的长度是固定的,所以可以在栈上分配,而String类型是变长的,所以需要在堆上分配,所以String 类型实际上是一个指向堆的指针.他的结 ...

  10. [TSG开发]法如扫描仪SDK探幽-1.旧版SDK采集流程、问题解析、常见参数

    做什么 法如扫描仪是一个三维的激光扫描仪,可以通过特定的作业模式将空间以三维激光点云的形式保存下来,并且通过特定的算法得出一些想要的具体参数. 这个SDK探幽日志主要是对目前SDK开发中遇到的一些问题 ...