即构SDK8月迭代:新增下行网络测速、切换房间、预览首帧回调等多项功能
即构SDK8月上新,网络探测模块新增下行网络测速、媒体播放器新增缓存到文件结尾的回调、新增切换房间功能、新增预览首帧回调等。本月SDK迭代新上线的功能非常丰富,详细内容请看下文。

LiveRoom
新增
1、网络探测模块新增下行网络测速功能
在拉流前可进行下行网络测速,可有效帮助用户判断和预测下行网络质量是否良好。此前,即构SDK已支持推流前上行网络测速,帮助用户判断和预测上行网络质量是否良好。
新增 StartDownlinkSpeedTest,StopDownlinkSpeedTest 等接口,用于下行网络测速。
如需要网络测速模块功能,请联系 ZEGO 技术支持处理。
2、媒体播放器新增缓存到文件结尾的回调
通过该回调,便于掌握媒体播放器的缓存加载情况。在教育场景中,教学视频缓存到达结尾时可能需要提示用户即将播放下一教学视频/开始下一章节等。
在event回调中新增onReadEoF回调,当文件缓冲到达文件的结束时抛出。
3、新增切换房间功能
通过“切换房间”功能,可以实现从一个房间快速切换到另一个房间。
此前切换房间,是通过“调用登出原房间和加入新房间”两个接口来实现;新的切换房间功能,通过调用新增的SwitchRoom 接口,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前的方法相比,更易用也更高效。
4、新增AudioDeviceMode下General2模式
该模式下会保持对设备的占用,让切换房间耗时更短。在狼人杀和剧本杀等场景下,使用该模式可以让用户切换房间后推流/拉流时快速发出声音/听到声音。
具体配置可联系 ZEGO 技术支持咨询。
5、新增预览首帧回调
启动本地预览(startPreview)时,渲染出第一帧作为回调抛出。便于使用视频外部采集设备时,掌握开启本地预览的情况。
每个开启预览(startPreview)/结束预览(stopPreview)周期内只会抛出一次首帧回调。期间调用设置预览(setPreview)和开关摄像头(enableCam)不会触发此回调。
优化
1、媒体播放器支持同时播放音视频文件的数量从4个提高到10个
通过优化重构MediaPlayer模块,SDK支持创建最多10个媒体播放器实例,同时播放音视频文件。
在线教育场景下,通过在课前播放多种音效,如鼓掌声、欢呼声等,活跃课堂气氛,让学生快速进入课堂状态。
2、优化初始化反初始化的逻辑
原先enableMic和setFrontCam等接口在反初始化后再次初始化SDK时,在主副通道的逻辑不一致,偶现状态未被重置的情况。优化逻辑后,反初始化SDK后再初始化,所有状态会正确重置。
3、混流支持单独调整输入流的音量
在多路混流时,可单独调整某条流的声音音量,解决混流后因为音频来源本身的音量大小差距较大,而导致混流后的音频音量不均衡的问题。由默认的0-100,修改为0-200。
4、优化投屏场景下声音回采问题
通过配置可以实现AirPlay连接时,声音依旧从手机设备播放,解决投屏场景下声音回采的问题。可通过SetConfig("air_play_route_to_speaker") 配置设置。
5、增加60Hz高通滤波器的配置开关选项
SDK默认打开该选项,用于处理低于60Hz的低频杂音,可通过SetConfig("prep_high_pass_filter=false")配置关闭。
AudioRoom
新增
1、网络探测模块新增下行网络测速功能
在拉流前可进行下行网络测速,可有效帮助用户判断和预测下行网络质量是否良好。此前,即构SDK已支持推流前上行网络测速,帮助用户判断和预测上行网络质量是否良好。
新增 StartDownlinkSpeedTest,StopDownlinkSpeedTest 等接口,用于下行网络测速。
如需要网络测速模块功能,请联系 ZEGO 技术支持处理。
2、媒体播放器新增缓存到文件结尾的回调
通过该回调,便于掌握媒体播放器的缓存加载情况。在教育场景中,教学素材缓存到达结尾时可能需要提示用户即将播放下一个教学视频/开始下一章节等。
在event回调中新增onReadEoF回调,当文件缓冲到达文件的结束时抛出。
3、新增SetConfig的修改配置接口
LiveRoom SDK已有此修改配置的接口,现AudioRoom开放SetConfig接口与LiveRoom SDK对齐。
4、新增切换房间功能
通过“切换房间”功能,可以实现从一个房间快速切换到另一个房间。
此前切换房间,是通过“调用登出原房间和加入新房间”两个接口来实现;新的切换房间功能,通过调用新增的SwitchRoom 接口,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前的方法相比,更易用也更高效。
5、新增AudioDeviceMode下General2模式
该模式下会保持对设备的占用,让切换房间耗时更短。在狼人杀和剧本杀等场景下,使用该模式可以让用户切换房间后推流/拉流时快速发出声音/听到声音。
具体配置可联系 ZEGO 技术支持咨询。
优化
1、媒体播放器支持同时播放音视频文件的数量从4个提高到10个
通过优化重构MediaPlayer模块,SDK支持创建最多10个媒体播放器实例,同时播放音视频文件。
2、优化初始化反初始化的逻辑
原先enableMic和setFrontCam等接口在反初始化后再次初始化SDK时,在主副通道的逻辑不一致,偶现状态未被重置的情况。优化逻辑后,反初始化SDK后再初始化,所有状态会正确重置。
3、混流支持单独调整输入流的音量
在多路混流时,可单独调整某条流的声音音量,解决混流后因为音频来源本身的音量大小差距较大,而导致混流后的音频音量不均衡的问题。由默认的0-100,修改为0-200。
4、增加60Hz高通滤波器的配置开关选项
SDK默认打开该选项,用于处理低于60Hz的低频杂音,可通过SetConfig("prep_high_pass_filter=false")配置关闭。
以上就是本月SDK更新迭代的主要内容,更多详细文档以及SDK历史更新内容,可以进入“即构官网(zego.im)-开发者中心”查看。
即构SDK8月迭代:新增下行网络测速、切换房间、预览首帧回调等多项功能的更多相关文章
- 网络测速神器:SpeedTest深度指南
最近在测试一个项目,里面涉及到一个测试case:在linux服务器上,当网络带宽较差时,观察服务的消息处理能力和表现.限制网卡带宽有许多方法,比如Wondershaper或者ethtool.那验证限速 ...
- 网络测速命令--speedtest
网络测速 speedtest-cli 顾名思义,这个命令为网络测速命令,基于Python编写,测试系统网络的上传下载速度,GitHub托管的项目地址,以下列出常见的用法 安装命令 pip instal ...
- Linux下3种常用的网络测速工具
大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...
- 新增WiFi真机同步与实时预览功能 简化真机调试步骤
APICloud工具插件为开发者提供iOS和Android平台真机同步调试功能,不仅可以通过USB方式进行APP真机同步功能,更新增WiFi真机同步和WiFi真机实时预览两大功能,方便开发者在开发过程 ...
- iOS炫酷动画图案、多种选择器、网络测速、滑动卡片效果等源码
iOS精选源码 对网络进行测速 自实现大标题,配合原生骨架屏demo 简单方便的pickerVIew记录数据 LZPickerView 科技风绘制组件,简单快速"画"出炫酷图案 R ...
- iperf 网络测速
1.介绍 1) # ipref -g //这个最直观 2)Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能.Iperf具有多种参数和UDP特性,可以根据需要调整. ...
- 英雄联盟网络测速 v1.3 全服全区取延时+取服务器维护状态+机房地理位置
全服全区取延时+取服务器维护状态+机房地理位置 v1.2修复了服务器状态获取不准确的bug 下载链接: https://pan.baidu.com/s/1c1LHIY8
- 网络测速 php代码
<?php /*=====http://hi.csdn.net/yinyiniao=====*/ $fp=fopen("cs.txt","w"); for ...
- 7月新的开始 - Axure学习04 - 发布与预览、菜单和表格元件、流程图和连接点、标记元件
Axure 的发布与预览 1.发布 2.生成html文件 常规:指定浏览器.工具栏的生成 页面.页面说明.元件说明.交互.标志(logo和描述).字体.移动设备等 3.发布到Axshare Axure ...
- anyRTC SDK 5月迭代:优化自定义加密功能,让通信更安全
anyRTC SDK 5月上新,新增多种加密类型,让实时音视频通信更安全:新增移动端推流支持1080P分辨率的支持:此外还对事件上报.日志详情.数据统计.网络传输等多项功能进行了优化改进. 以下为更新 ...
随机推荐
- 安装Zookeeper和Kafka集群
安装Zookeeper和Kafka集群 本文介绍如何安装Zookeeper和Kafka集群.为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的. 安装Zookeeper ...
- 09-devserver
const {resolve} = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') module.ex ...
- Object o = new Object();
对象的创建过程: 1,申请内存,并初始化: 2,构造器初始化: 3,o指向对象. 对象在内存中的存储布局: 使用jol工具打印java对象在内存的存储布局: 其中,对象头的组成: 对象头包括Mark ...
- 【FAQ】关于JavaScript版本的华为地图服务Map的点击事件与Marker的点击事件存在冲突的解决方案
一. 问题描述 创建地图对象,并添加marker标记,对map和marker均添加了点击事件: <body> <script> function initMap() { // ...
- C# 信号锁SemaphoreSlim
关于锁,我们经常会使用lock object对象,进行资源访问的限制. 但,lock是有限制的,无法添加异步方法.编译器会报错. 下面推荐另一个类SemaphoreSlim,这是信号量的一个使用类.先 ...
- node 请求接口,返回大小限制
请求Node端中转接口时,遇到以下异常: Request_fileSize_limit Request_fields_limit Request_fieldSize_limit 遇到以上异常时,调试信 ...
- 计算机网络之MAC和IP地址
MAC地址 在局域网中,硬件地址,又称为物理地址或MAC地址. 目前现在的局域网中实际上使用的都是6字节的MAC地址,所以每一个以太网设备都具有唯一的MAC地址. MAC地址的格式 假设传输使用的是I ...
- ChatGPT最全提示词Prompts总结,看这一篇就够了!
以下几乎涵盖了各类人群想要使用ChatGPT的所有提示词,需要的朋友可以直接复制粘贴使用. 从翻译到整理耗费超过2个小时,如果内容对大家有帮助,请不要吝啬你们的喜欢.点赞.关注~ 如何正确的提问? ...
- String、StringBuilder、StringBuffer使用场景
String:加了final修饰,长度不可变,每次修改会创建新String:操作少量数据或者不需要操作数据时使用. StringBuilder:长度可变,线程不安全:在需要频繁操作数据且不需要考虑线程 ...
- #Powerquery 利用M函数合并文件(CSV、Text、Xlsx)
在日常工作中,我们往往会遇到多个文件需要合并的情况,本文一起探讨一下利用M函数合并文件的案例. 由于需要合并的文件的格式不同,也需要选择不同的M函数来进行合并,本文将分享三个格式的合并案例. 首先介绍 ...