即构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月迭代:新增下行网络测速、切换房间、预览首帧回调等多项功能的更多相关文章

  1. 网络测速神器:SpeedTest深度指南

    最近在测试一个项目,里面涉及到一个测试case:在linux服务器上,当网络带宽较差时,观察服务的消息处理能力和表现.限制网卡带宽有许多方法,比如Wondershaper或者ethtool.那验证限速 ...

  2. 网络测速命令--speedtest

    网络测速 speedtest-cli 顾名思义,这个命令为网络测速命令,基于Python编写,测试系统网络的上传下载速度,GitHub托管的项目地址,以下列出常见的用法 安装命令 pip instal ...

  3. Linux下3种常用的网络测速工具

    大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...

  4. 新增WiFi真机同步与实时预览功能 简化真机调试步骤

    APICloud工具插件为开发者提供iOS和Android平台真机同步调试功能,不仅可以通过USB方式进行APP真机同步功能,更新增WiFi真机同步和WiFi真机实时预览两大功能,方便开发者在开发过程 ...

  5. iOS炫酷动画图案、多种选择器、网络测速、滑动卡片效果等源码

    iOS精选源码 对网络进行测速 自实现大标题,配合原生骨架屏demo 简单方便的pickerVIew记录数据 LZPickerView 科技风绘制组件,简单快速"画"出炫酷图案 R ...

  6. iperf 网络测速

    1.介绍 1) #  ipref -g   //这个最直观 2)Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能.Iperf具有多种参数和UDP特性,可以根据需要调整. ...

  7. 英雄联盟网络测速 v1.3 全服全区取延时+取服务器维护状态+机房地理位置

    全服全区取延时+取服务器维护状态+机房地理位置 v1.2修复了服务器状态获取不准确的bug 下载链接: https://pan.baidu.com/s/1c1LHIY8 

  8. 网络测速 php代码

    <?php /*=====http://hi.csdn.net/yinyiniao=====*/ $fp=fopen("cs.txt","w"); for ...

  9. 7月新的开始 - Axure学习04 - 发布与预览、菜单和表格元件、流程图和连接点、标记元件

    Axure 的发布与预览 1.发布 2.生成html文件 常规:指定浏览器.工具栏的生成 页面.页面说明.元件说明.交互.标志(logo和描述).字体.移动设备等 3.发布到Axshare Axure ...

  10. anyRTC SDK 5月迭代:优化自定义加密功能,让通信更安全

    anyRTC SDK 5月上新,新增多种加密类型,让实时音视频通信更安全:新增移动端推流支持1080P分辨率的支持:此外还对事件上报.日志详情.数据统计.网络传输等多项功能进行了优化改进. 以下为更新 ...

随机推荐

  1. 详解C++中的extern与static关键字

    本章通过问答方式明晰两个关键字及其作用. Q1:对于int x:,不加extern关键字他就是个未赋初值的定义,但是如果加了static或者extern都可以表示这仅是一个声明吗? A:不是的,具体情 ...

  2. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  3. AI人工智能 机器学习 深度学习 学习路径及推荐书籍

    要学习Pytorch,需要掌握以下基本知识: 编程语言:Pytorch使用Python作为主要编程语言,因此需要熟悉Python编程语言. 线性代数和微积分:Pytorch主要用于深度学习领域,深度学 ...

  4. Mybatis 坑(1)

    org.apache.ibatis.executor.ExecutorException: No constructor found in xxxx [Integer,String] 这种情况一般是类 ...

  5. JVM有意思的图-持续更新

    放一些JVM有意思的图 通过一行代码联想JVM:

  6. 【必知必会的MySQL知识】②使用MySQL

    目录 前言 启动MySQL服务 连接MySQL MySQL数据库基本命令 小结 前言 根据上一篇文章[必知必会的MySQL知识]①初探MySQL的内容,想必您对MySQL数据库有了一个整体的了解了,并 ...

  7. Flutter 如何将代码显示到界面上

    前言 如何优雅的将项目中的代码,亦或是你的demo代码展示到界面上?本文对使用简单.便于维护且通用的解决方案,进行相关的对比和探究 为了节省大家的时间,把最终解决方案的相关接入和用法写在前面 预览代码 ...

  8. 2023-01-15:销售员。编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。以 任意顺序 返回结果表。 DROP TABLE IF EXISTS `com

    2023-01-15:销售员.编写一个SQL查询,报告没有任何与名为 "RED" 的公司相关的订单的所有销售人员的姓名.以 任意顺序 返回结果表. DROP TABLE IF EX ...

  9. 【保姆级教程】如何用Rust编写一个ChatGPT桌面应用

    为什么我们需要一个桌面应用 原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上"继续",需要收藏一些很酷很实用的prompt...... (首先我假设你是一名如 ...

  10. vue全家桶进阶之路49:Vue3 环境变量

    vue3 环境变量 在Vue3中,可以通过环境变量来管理应用程序中的配置.这些配置可以包括后端API的URL.API key.跟踪ID等等.在不同的开发.测试.生产环境中使用不同的配置是非常有用的.V ...