实时音视频
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序

发布日志

更新时间:2021-11-26 21:51

2.14.0 版本

发布日期:2021.11.16

新增功能

1. 新增实时有序数据功能

开发者在需要做远程控制、云游戏等指令分发时,通过实时信令,可以低延迟获取发布端消息。

相关 API 请参考 createRealTimeSequentialDataManager

2. 新增版权音乐功能

注意:如需使用该功能,请联系 ZEGO 技术支持。

支持通过版权音乐功能,获取版权歌曲或伴奏资源,并结合媒体播放器进行本地播放控制。可以用于在线 KTV 、语聊房等合唱或使用背景音乐的场景。

3. 新增 H.265 编解码异常通知

新增 H.265 解码性能不足的告警回调,在通过 CDN 拉流的场景下,用于提示用户是否做降级处理。如果开发者在拉 H.265 流的过程中收到低帧率回调 [onPlayerLowFpsWarning],建议开发者停止拉 H.265 流,转拉 H.264 流。

推流状态回调 [onPublisherStateUpdate] 和拉流状态回调 [onPlayerStateUpdate] 中新增了 H.265 编解码错误提示。

相关 API 请参考 onPlayerLowFpsWarning, onPublisherStateUpdate, onPlayerStateUpdate

4. 支持实时监听音频和视频的首帧回调

注意:如需使用该功能,请联系 ZEGO 技术支持。

允许开发者自定义监听音频和视频帧到达的回调通知,包括音频首帧到达回调、视频首帧到达回调、视频首帧渲染回调。

相关 API 请参考 callExperimentalAPI

5. 媒体播放器支持在加载媒体资源时指定开始播放进度

媒体播放器新增 [loadResourceWithPosition] 接口,支持加载媒体资源时指定开始播放进度,单位为毫秒。

相关 API 请参考 createMediaPlayer > loadResourceWithPosition

6. 支持设置自定义采集画面的转换矩阵和旋转角度

注意:仅当自定义视频采集帧数据类型 “bufferType” 设置为 GLTexture2D 时,该功能才有效。

开发者收到 [onStart] 回调后,可以调用 [setCustomVideoCaptureRotation] 接口设置指定推流通道自定义采集画面的顺时针旋转角度。调用 [setCustomVideoCaptureTransformMatrix] 接口可以设置指定通道的自定义采集画面转换矩阵,包括旋转、翻转、缩放。

当 [setCustomVideoCaptureTransformMatrix] 和 [setCustomVideoCaptureRotation] 接口同时调用时,则先执行 [setCustomVideoCaptureTransformMatrix] 后,再执行 [setCustomVideoCaptureRotation]。

相关 API 请参考 setCustomVideoCaptureRotation, setCustomVideoCaptureTransformMatrix

7. 支持设置摄像头对焦和曝光模式

SDK 支持设置摄像头对焦和曝光模式,常用于鉴宝直播场景,用于放大和对焦一些物体的细节。

在启动本地预览后,可以调用 [isCameraFocusSupported] 接口开启摄像头对焦功能,通过 [setCameraFocusPointInPreview] 和 [setCameraExposurePointInPreview] 接口可以分别设置预览视图中的对焦点和曝光点(每次摄像头重新启动采集,两者的设置都会失效,需要重新设置)。调用 [setCameraFocusMode] 和 [setCameraExposureMode] 接口可以分别设置摄像头对焦模式和曝光模式。

相关 API 请参考 isCameraFocusSupported, setCameraFocusPointInPreview, setCameraFocusMode, setCameraExposureMode, setCameraExposurePointInPreview

8. 新增开启或关闭拉流对齐功能

该功能常用于 KTV 等需要混流对齐的场景,当拉流端播放时,通过 [setPlayStreamsAlignmentProperty] 接口控制播放的实时音视频流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐;若不需要,则所有流都不对齐。

相关 API 请参考 setPlayStreamsAlignmentProperty

9. 新增音频设备模式

音频设备模式新增 GENERAL3 和 COMMUNICATION4 两种模式。GENERAL3 模式表示关闭系统前处理,始终占用麦克风,全程使用媒体音量。COMMUNICATION4 模式表示开启系统前处理,上麦占用麦克风,下麦释放麦克风,全程使用通话音量。

相关 API 请参考 setEngineConfig

10. 新增稳态语音检测功能

通过该功能可以判断一定时间内是否有人对着麦克风说话,用于检测采集后或音频前处理后的音频数据是人声还是噪声。

相关 API 请参考 startAudioVADStableStateMonitor, stopAudioVADStableStateMonitor, onAudioVADStateUpdate

11. 服务端支持 ServerSecret 平滑迁移能力

注意:如需使用该功能,请联系 ZEGO 技术支持。

支持生成 Token 的密钥,实现 ServerSecret 平滑迁移能力。通过后台配置同时启用两个 ServerSecret,当其中一个 ServerSecret 暴露的情况下,可以平滑迁移到另一个 ServerSecret。

12. 服务端 Token 能力升级

注意:如需使用Token 加入黑名单的功能,请联系 ZEGO 技术支持。

Token 支持加入黑名单:为防止旧 Token 释放后攻击新 Token,新增支持将 Token 加入黑名单。Token 黑名单,是指该 Token 在有效期内的 AppID 下无法使用。

Token 支持通过流 ID 鉴权:为防止通过鉴权后,使用相同 Token 推其他的流,新增支持生成绑定流 ID 的 Token。

13. 支持批量禁止 RTC 推流和恢复 RTC 推流

为确保客户端下麦成功,服务端新增批量禁止 RTC 推流和批量恢复 RTC 推流能力。

调用批量禁止 RTC 推流接口,可以批量禁止指定流 ID 推送到 RTC 服务,禁止推流操作会向正在推流的客户端和正在拉流的客户端发送推流被禁止的通知。调用批量恢复 RTC 推流接口,可批量恢复被禁止推往 RTC 媒体服务的流 ID。

相关 API 请参考 批量禁止 RTC 推流/批量恢复 RTC 推流

改进优化

1. 优化了本地和远端用户的上下行网络回调 [onNetworkQuality] 的处理逻辑

2.10.0 至 2.13.1 版本的处理逻辑为:1. 自身必须既推流又拉流,才会收到自身的网络质量回调。2. 当拉一条流时,推流端有拉流且推流端在自己所在房间内,才会收到该用户的网络质量。

2.14.0 及以上版本的处理逻辑为:1. 自身只要推流或拉流,就会收到自身的网络质量回调。2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。

相关 API 请参考 onNetworkQuality

2. 默认最大推流通道数量由 2 路新增到 4 路

2.14.0 之前版本默认最大推流通道数量为 2 路,如需支持更多则需要 ZEGO 技术支持特殊编包。为了配合实时信令功能,该版本默认最大推流数新增至 4 路。

相关 API 请参考 startPublishingStream

3. 优化了 API 接口和错误码注释

完成了对全量 API 接口与错误码的注释优化, API 注释中新增了“支持版本”、“详情描述”、“业务场景”、“调用时机”、“使用限制”、“注意事项”等信息,便于开发者更清晰的了解 API 的功能。错误码新增了“可能原因”和“处理建议”,帮助开发者更好的定位和解决问题。

4. 去测试环境

为了降低开发者对环境的理解成本,ZEGO 已统一环境概念,从该版本开始,废弃了测试环境,统一使用正式环境。在 2.14.0 版本之前已接入过 SDK 的开发者,可以参考“测试环境废弃说明(https://doc-zh.zego.im/article/12997)”进行 SDK 升级及代码调整。

相关 API 请参考 createEngine

5. 转推地址长度限制扩容

混流转推地址长度限制由 512 字节扩展到 1024 字节。

6. 优化了媒体播放器播放 AAC 格式的文件时,获取播放进度不准确的问题

7. 官网的 SDK 包默认支持 VP8、MP3 编解码,从该版本开始,不再需要特殊编包

废弃删除

1. 废弃旧的 [createEngine] 接口

为了降低开发者对环境的理解,废弃了掉测试环境,统一使用环境。在 2.14.0 及以上版本废弃了原有的 [createEngine] 接口,请使用不带 “isTestEnv” 参数的同名接口代替。

相关 API 请参考 createEngine



2.13.1 版本

发布日期:2021.10.15

问题修复

1. 修复了调用 [enablePublishDirectToCDN] 接口时传入 null 参数导致的崩溃问题



2.13.0 版本

发布日期:2021.10.15

新增功能

1. 新增电音音效

电音音效指的是可以让人说话、唱歌的声音,经过处理后带有电音的效果。该功能常用于KTV、语聊房场景。

在 [createEngine] 初始化 SDK 之前,调用 [setElectronicEffects] 接口可以开启电音音效,并可根据需要设置不同模式的电音调式以及对应调式的起始音高。未调用此接口时,默认关闭电音音效。

开发者也可以通过 [setVoiceChangerPreset] 接口预设常见的电音音效,目前支持预设 C 大调电音音效、A 小调电音音效、和声小调电音音效。

相关 API 请参考 setElectronicEffects

2. 新增 Token 过期管理机制

注意:使用此功能需要升级 SDK 并联系 ZEGO 技术支持配置。

不同的业务场景,对用户登录房间、推流等权限有时效限制,可以通过 Token 来实现。

当 Token 过期后,服务端会主动将用户的权限进行回收,客户端的用户会被踢出房间并停止推流。该机制可以使用户权限管理更安全,常用于 KTV、语聊房场景。

相关 API 请参考 renewToken, onRoomTokenWillExpire

3. 支持实时更新混流文字水印

直播使用混流时,可以在混流输出画面上实时更新水印,以达到实时更新混流的时候同步刷新水印。该功能常用于在线教育场景,例如上课时在混流画面上标注每条输入流对应的老师名字或者班级名字。

[ZegoMixerTask] 的混流输入列表 [ZegoMixerInput] 中新增 [label] 字段,可设置混流输入视频画面上的相关文字水印信息,进行混流的每一条流,只支持一个水印。

相关 API 请参考 startMixerTask

4. 混流支持设置视频渲染模式

在进行混流时,可以对每一条流进行渲染模式的设置。当混流输入流的分辨率比例与对应输入流在混流输出画面上的布局比例不一致时,可以按照不同的业务场景,选择不同的渲染模式。

[ZegoMixerTask] 的混流输入列表 [ZegoMixerInput] 中新增 [renderMode] 字段,可设置混流输入视频画面的渲染模式,支持“填充模式”和“适应模式”。

相关 API 请参考 startMixerTask

改进优化

1. 优化了混流精准对齐功能

推流端,配置混流时可以指定某些流进行精准对齐。

相关 API 请参考 setStreamAlignmentProperty

2. 优化了混流精准对齐的接口调用逻辑

调用 [startPublishingStream] 接口且将 [ZegoPublisherConfig] 中的 [forceSynchronousNetworkTime] 值设置为 1,则 SDK 内部会等到 NTP 网络时间同步完成后再推流,此时再调用 [setStreamAlignmentProperty] 接口开启混流精准对齐功能。

相关 API 请参考 startPublishingStream, setStreamAlignmentProperty, onNetworkTimeSynchronized

3. 优化了录音棚、KTV、留声机的音效效果

问题修复

1. 修复了 SDK 获取网络状态时触发的 Crash

废弃删除

1. 废弃旧的 [onProcessCapturedAudioData] 回调

因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessCapturedAudioData] 回调,使用带 timestamp 参数的同名回调代替。

相关 API 请参考 onProcessCapturedAudioData

2. 废弃旧的 [onProcessRemoteAudioData] 回调

因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessRemoteAudioData] 回调,使用带 timestamp 参数的同名回调代替。

相关 API 请参考 onProcessRemoteAudioData

3. 废弃旧的 [onProcessPlaybackAudioData] 回调

因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessPlaybackAudioData] 回调,使用带 timestamp 参数的同名回调代替。

相关 API 请参考 onProcessPlaybackAudioData



2.12.0 版本

发布日期:2021.09.09

新增功能

1. 支持 H.265 编解码

H.265 编解码完整方案上线,适用于单主播直播和多人互动直播场景。开发者可以在编码或混流时输出 H.265 格式的视频码流,H.265 在同等画质下相对于 H.264 节约了 30% 的流量。使用该功能前,需要联系 ZEGO 技术支持开通。

相关 API 请参考 isVideoEncoderSupported, isVideoDecoderSupported, enableH265EncodeFallback, onPublisherVideoEncoderChanged

2. 新增自定义混音后处理功能

支持获取和修改混音后将要播放的音频数据。在初始化 SDK 之后,[startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer] 和 [createAudioEffectPlayer] 之前,调用 [enableCustomAudioPlaybackProcessing] 接口可以开启自定义混音后处理功能,通过 [setCustomAudioProcessHandler] 可以设置自定义音频处理回调。

相关 API 请参考 enableCustomAudioPlaybackProcessing, setCustomAudioProcessHandler, onProcessPlaybackAudioData

3. 支持回调远端扬声器设备状态

与远端用户连麦成功后,当远端扬声器设备状态发生变更时,例如开/关扬声器,可以通过 [onRemoteSpeakerStateUpdate] 回调监听。

相关 API 请参考 onRemoteSpeakerStateUpdate

4. 媒体播放器支持倍速播放

在加载资源完成后,调用 [setPlaySpeed] 接口可以设置媒体播放器的视频播放倍速,支持 0.5 ~ 2.0 倍,默认为 1.0,即正常速度。

相关 API 请参考 ZegoMediaPlayer > setPlaySpeed

5. 混流支持空间音频能力

使用混流功能时,支持通过 [ZegoMixerInput] 中的 audioDirection 参数设置每路音频流的空间音频效果。

相关 API 请参考 ZegoMixerInput

改进优化

1. 优化了混流接口

优化了混流接口的调用逻辑,使代码更加清晰简单。

相关 API 请参考 ZegoMixerTask

2. 优化了耳返功能

优化了耳返逻辑,使耳返的延迟缩短至 50+ ms。

3. 耳返功能支持更多手机厂商

新增支持小米机型的耳返能力。

4. 扩大了广播消息和弹幕消息的容量

广播消息和弹幕消息从此版本开始,支持发送长度更大的消息(默认限制为 1 KB),如有需要请联系 ZEGO 技术支持配置。

5. 官网的 SDK 包默认媒体播放器支持播放 m3u8 格式的文件,从该版本开始,不再需要特殊编包

相关 API 请参考 ZegoMediaPlayer > loadResource

问题修复

1. 修复了移动端多房间模式下发送自定义消息时可能出现的报错



2.11.0 版本

发布日期:2021.08.27

新增功能

1. 新增范围语音功能模块

新增范围语音功能模块,可提供范围语音、3D音效、小队语音等功能。适用于吃鸡类游戏、元宇宙类场景。

范围语音:房间内的收听者对音频的接收距离有范围限制,若发声者与自己的距离超过该范围,则无法听到声音。为保证语音清晰,附近超过 20 人发声时,只能听到离自己最近的 20 个发声者的声音。

3D音效:声音有 3D 空间感且按距离衰减。

小队语音:玩家可以选择加入小队,并支持在房间内自由切换“全世界”模式和“仅小队”模式。

相关 API 请参考 createRangeAudio, destroyRangeAudio, setEventHandler, setAudioReceiveRange, updateSelfPosition, updateAudioSource, enableSpatializer, enableMicrophone, enableSpeaker, setRangeAudioMode, setTeamID

改进优化

1. 优化核心 API 注释文档及错误码



2.10.1 版本

发布日期:2021.08.20

问题修复

1. 修复登录房间耗时可能较长的问题

相关 API 请参考 loginRoom

2. 修复日志上传可能失败的问题

相关 API 请参考 uploadLog



2.10.0 版本

发布日期:2021.08.10

新增功能

1. 新增自动混流功能

SDK 可以指定房间,由 ZEGO 实时音视频服务器自动将房间内的所有音频流进行混流(目前只支持混音频流),常用于纯语聊场景。该功能相对手动混流降低了开发者接入的复杂程度,不需要管理指定房间音频流的生命周期。

相关 API 请参考 startAutoMixerTask, stopAutoMixerTask

2. 支持设置混流背景色

在混流任务对象 [ZegoMixerTask] 中新增 [setBackgroundColor] 用于设置混流背景色。

相关 API 请参考 ZegoMixerTask > setBackgroundColor

3. 新增开启人声检测功能以及人声部分的声浪回调

开发者在监听声浪回调时,往往只关注人声部分,可调用 [startSoundLevelMonitor] 接口,传入 “ZegoSoundLevelConfig”,开启 VAD 人声检测。SDK 在本地采集声浪回调 [onCapturedSoundLevelInfoUpdate]、远端音频声浪回调 [onRemoteSoundLevelInfoUpdate] 中也新增是否包含人声检测的参数。

相关 API 请参考 startSoundLevelMonitor, onCapturedSoundLevelInfoUpdate, onRemoteSoundLevelInfoUpdate

4. 媒体播放器支持播放二进制文件

当开发者已经将播放数据写入内存后,可直接使用媒体播放器进行播放,无需再写成文件进行播放。

相关 API 请参考 ZegoMediaPlayer > loadResourceFromMediaData

5. 新增摄像头曝光补偿功能

开发者可以在开启预览后调用 [setCameraExposureCompensation] 接口设置摄像头曝光补偿数值,取值范围为 [-1, 1],取值越小画面越暗,取值越大画面越亮。

相关 API 请参考 setCameraExposureCompensation

改进优化

1. 设备异常通知 [onDeviceError] 中新增 "deviceID" 参数,保证设备唯一性

在使用多个视频或音频设备时,可以通过 "deviceID" 参数精确分辨出报错的设备,更高效地排查问题。

相关 API 请参考 onDeviceError

2. 拉流路数配置优化,此 版本 SDK 默认支持 50 路拉流,运行期会默认设定为 12 路拉流

在开发者需要支持超过 12 路拉流时,需要联系 ZEGO 技术支持设置。

3. 屏幕采集时对编码进行优化,降低码率波动

问题修复

1. 修复了特定条件下的崩溃问题

2. 修复了可能存在的内容泄漏问题

3. 修复了上传日志耗时久的问题

4. 修复了媒体播放器因为路径过长而导致被截断的问题

废弃删除

1. 废弃旧的 [onNetworkQuality] 回调

参数定义不准确,在 2.10.0 及以上版本废弃 [onNetworkQuality] 回调,使用带 ZegoStreamQualityLevel 枚举的同名回调代替。

相关 API 请参考 onNetworkQuality



2.9.3 版本

发布日期:2021.07.13

问题修复

1. 修复了调用 [LogoutRoom] 接口时部分资源未及时释放的问题

2. 修正了其他已知问题



2.9.0 版本

发布日期:2021.07.09

新增功能

1. 支持摄像头关闭时推送静态图片

关闭摄像头时,支持持续推送 JPEG/JPG、BMP 和 HEIF 格式的静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。

初始化 SDK 后,关闭摄像头之前通过 [setDummyCaptureImagePath] 接口设置所推静态图片的路径,开始正常推流后,调用 [enableCamera] 接口关闭摄像头时会开始推静态图片,调用 [enableCamera] 接口打开摄像头时会结束推静态图片。

相关 API 请参考 setDummyCaptureImagePath

2. 支持获取本端和远端的上下行网络质量

新增本地和远端用户的上下行网络质量回调 [onNetworkQuality],默认每两秒回调一次本地和每个拉取的远端用户的网络状况(包括未知、优秀、良好、中等、较差、网络断线)。当开发者希望分析链路上的网络情况,或想要了解本地和远端用户的网络状况时可以使用该功能。

相关 API 请参考 onNetworkQuality

3. 支持获取 NTP 时间

在进行多端同步行为或耗时统计时,需要网络时间同步。SDK 新增获取 NTP 时间功能,可通过 [getNetworkTimeInfo] 接口获取 NTP 时间戳。使用该功能前请先联系 ZEGO 技术支持。

相关 API 请参考 getNetworkTimeInfo

4. 新增混流自动精准对齐功能

基于 ZEGO 服务器的 NTP 时间,在混流时自动对齐各路流的播放时间。使用该功能前请先联系 ZEGO 技术支持。

改进优化

1. 优化了多房间功能

同一个用户可以同时加入多个房间,并同时在多个房间内(目前默认最多同时加入 5 个房间)推流、拉流、发送实时消息和接收消息回调。本功能可以隔离多个房间的消息及回调,实现更灵活的连麦业务。ZEGO 推荐用于跨房间连麦和在线教育的超级小班场景。

需要在初始化 SDK 之前,调用 [ZegoRoomMode] 设置多房间模式,然后调用 [loginRoom] 接口登录多房间。

相关 API 请参考 setRoomMode, loginRoom

2. 优化了退出房间逻辑

开发者不需要填写 roomID 就可以调用 [logoutRoom] 接口退出当前所在的房间。若使用了多房间功能,则调用该接口会退出所有房间。

相关 API 请参考 logoutRoom

3. 拉流质量回调新增卡顿相关数据

拉流质量回调中新增 audioCumulativeBreakCount、audioCumulativeBreakTime、audioCumulativeBreakRate 等参数,提供了更多拉流卡顿的细化数据。

相关 API 请参考 onPlayerQualityUpdate

4. 优化了网络测试功能

调用 [startNetworkSpeedTest] 接口开启网络测速时,支持设置回调周期(默认 3000 ms)。

相关 API 请参考 startNetworkSpeedTest

5. 优化了混流功能,支持混入只有视频没有音频(纯视频)的流

6. 优化了媒体播放器,调用 [seekTo] 接口指定播放进度的误差缩短到 10 ms

7. 优化了音频内部渲染,支持单通道音频

8. 媒体播放器支持播放 mkv 文件

问题修复

1. 修复了媒体播放器先最小化再最大化后画面异常的问题

2. 修复了打开文件时报错的问题

3. 修复了只推音频流且发送 SEI 时录制发生异常的问题

4. 修复了停止拉流后,最后一帧画面显示异常的问题

5. 修复了推流过程中插入耳机出现耳返异常的问题

废弃删除

1. 废弃 [loginMultiRoom] 接口

为了更完善多房间功能,去除旧有主从房间概念,在 2.9.0 及以上版本废弃了 [loginMultiRoom] 接口。若需实现新的多房间功能,请先在引擎初始化之前调用 [setRoomMode] 函数设置多房间模式,再使用 [loginRoom] 登录多房间,如果调用 [loginRoom] 函数登录多房间,请确保传入相同的用户信息。

相关 API 请参考 setRoomMode, loginRoom



2.8.0 版本

发布日期:2021.06.11

新增功能

1. 支持登录房间和用户房间内推流鉴权

用户权限控制指的是用户登录房间,或是在房间内进行推/拉流等操作时,ZEGO 服务端根据用户登录时携带的 Token 参数,判断用户是否有对应的权限,避免因权限控制缺失或操作不当引发的风险问题。 目前仅支持用户登录房间和用户房间内推流两个权限的校验。

相关 API 请参考 loginRoom, renewToken, onRoomTokenWillExpire

2. 新增辅路流共享主路流的视频数据能力

开放辅路流复制主路流的视频数据能力,通过此能力开发者可以在主路、辅路流用不同协议推相同数据。开发者若需要此能力请联系 ZEGO 技术支持提供试验性 API。

相关 API 请参考 callExperimentalAPI

3. 新增空间音频能力

空间音频能够感知空间内 360° 的声音位置。开发者可以通过空间音频功能在音视频房间内营造更逼真的“座位”效果,用户可以通过空间音频感知声音的来源方向,还原线下场景。适用于语聊房、剧本杀和线上会议等场景。

相关 API 请参考 enablePlayStreamVirtualStereo

改进优化

1. 兼容 Android 10 和 Android 11 对文件访问的限制

Android 10 引入 scoped storage 概念后,一般情况下,App 只能访问 SD 卡上属于 App 的私有数据,开发者可在 AndroidManifest.xml 中添加声明来关闭 scoped storage。但 Android 11 及以后版本将忽略该声明,强制开启 scoped storage。开发者可使用 SDK 提供的接口,使 SDK 支持直接使用文件路径读写文件。

相关 API 请参考 setPublishWatermark, startRecordingCapturedData, loadResource

2. 增加对 Android Q 的资源文件路径适配,支持 URI 方式传入资源文件

问题修复

1. 修复了在 [createEngine] 之后,[startPublishingStream] 或 [startPreview] 之前,调用 [enableHeadphoneAEC] 可能会无效的问题

2. 修复了在使用自定义视频渲染过程中,[destroyEngine] 后可能会出现的 crash 问题



2.7.0 版本

发布日期:2021.04.29

新增功能

1. 增加试验性 API 功能

ZEGO 通过此 API 提供 RTC 业务中的部分技术预览或特别定制功能,需要获取该功能的使用方法或其详情可咨询 ZEGO 技术支持。

相关 API 请参考 callExperimentalAPI

问题修复

1. 修复了某些机型下 load so 失败的问题

废弃删除

1. 废弃 [enableAudioDataCallback] 接口

在 2.7.0 及以上版本废弃 [enableAudioDataCallback] 接口,请使用 [startAudioDataObserver] 接口代替。

相关 API 请参考 startAudioDataObserver



2.6.0 版本

发布日期:2021.04.15

新增功能

1. 新增混流场景下的焦点语音功能

在混流时,开发者通过设定拉流端需要突出的目标流,实现在多人同时说话的嘈杂环境下,突出特定用户的语音。例如在会议场景下,可以保障重点人物发言的声音。在调用 [startMixerTask] 接口开启混流时,首先将传入的 [ZegoMixerAudioConfig] 混流音频配置参数中的 "mixMode" 设置为 "focused",同时在需要突出发言的流中,配置 [ZegoMixerInput] 的 "isAudioFocus" 为 "true",即可指定该流为焦点语音流。

相关 API 请参考 startMixerTask

问题修复

1. 修复已知的问题



2.5.0 版本

发布日期:2021.04.01

新增功能

1. 媒体播放器支持设置网络资源最大的缓存配置并获取实时网络资源缓存情况

开发者可根据实际需要在加载资源前,通过 [setNetWorkResourceMaxCache] 接口设置媒体播放器网络资源的最大缓存时长和最大缓存数据大小(两者不能同时为 0),可通过 [getNetWorkResourceCache] 接口获取当前网络资源缓存队列中缓存数据可播放的时长和大小。

相关 API 请参考 ZegoMediaPlayer > setNetWorkResourceMaxCache, ZegoMediaPlayer > getNetWorkResourceCache

2. 支持设置媒体播放器重新恢复播放需要达到的缓存阈值

当网络状态较差且媒体播放器将缓存的网络资源都播放完时,就会停止播放。只有当缓存的网络资源大于 SDK 设置的阈值时(默认值为 5000 ms,有效值为大于等于 1000 ms),媒体播放器才会在原来暂停的位置自动恢复播放。

相关 API 请参考 ZegoMediaPlayer > setNetWorkBufferThreshold



2.4.1 版本

发布日期:2021.03.25

问题修复

1. 修复使用aar集成Android SDK,出现onNetworkModeChanged不会回调的bug



2.4.0 版本

发布日期:2021.03.18

新增功能

1. 媒体播放器新增截图功能

对媒体播放器当前播放的画面进行截图。

相关 API 请参考 ZegoMediaPlayer > takeSnapshot

2. 支持设置和获取音频质量配置

可根据需要设置和获取音频编码类型、码率,音频声道的组合值。

相关 API 请参考 setAudioConfig, getAudioConfig

3. 支持设置触发流量控制的关注因素

当通过 [enableTrafficControl] 接口开启了指定推流通道的流量控制后,可通过 [setTrafficControlFocusOn] 接口控制是否因为远端网络状况差而启动流量控制。

相关 API 请参考 setTrafficControlFocusOn

4. 新增本地预览首帧渲染回调

第一帧视频数据被渲染完之后会收到此回调。

相关 API 请参考 onPublisherRenderVideoFirstFrame

5. 媒体播放器新增精确 seek 功能

相关 API 请参考 ZegoMediaPlayer > enableAccurateSeek

6. 拉流端提供关闭所有音频或视频的功能

当拉流时需要一次性关闭所有远端用户的音频或视频流时,可通过该功能实现。

相关 API 请参考 muteAllPlayStreamAudio, muteAllPlayStreamVideo

改进优化

1. 优化了因房间登录失败时,推拉流状态回调的错误码描述

问题修复

1. 修复了登录房间失败时,有概率出现内部线程卡住的问题

2. 修复了媒体播放器销毁时可能导致 ANR 的问题



2.3.1 版本

发布日期:2021.03.05

问题修复

1. 修复已知的问题



2.3.0 版本

发布日期:2021.03.04

新增功能

1. 新增 [setLogConfig] 接口,用于设置日志属性

当开发者需要自定义日志文件大小和路径时,可调用 [setLogConfig] 接口来完成配置,且必须在调用 [createEngine] 之前设置才能生效。若在 [createEngine] 之后设置,则在 [destroyEngine] 后的下一次 [createEngine] 时生效。一旦调用了 [setLogConfig] 接口,在 [destroyEngine] 之前,即 engine 的整个生命周期里,旧的通过 [setEngineConfig] 设置日志大小和路径的方式将无效。建议一旦使用该接口,就始终只通过其完成设置日志路径和大小的需求。

相关 API 请参考 setLogConfig

2. 新增 [setApiCalledCallback] 接口,用于设置调用方法执行结果的回调

设置 [setApiCalledCallback] 后,可以通过 [onApiCalledResult] 回调获取到 ZEGO SDK 方法执行结果的详细信息。

相关 API 请参考 setApiCalledCallback

3. 新增 [setPlayStreamVideoType] 接口,用于设置播放视频流类型

当推流方通过 [setVideoConfig] 设置了 “codecID” 为 “SVC” 时(在拉流前后均可设置),拉流方可以动态设置选用不同的流类型(小分辨率为标准图层的二分之一)。 在网络较弱或者渲染的 UI 窗体较小的情况下,可以选择使用拉取小分辨率的视频来达到节省带宽的目的。

相关 API 请参考 setPlayStreamVideoType

4. 新增 [setAudioRouteToSpeaker] 接口,用于设置音频路由到扬声器

通过 [setAudioRouteToSpeaker] 可以设置音频路由到扬声器,当选择不使用内置扬声器播放声音时,即设为 “false” 时,SDK 会根据系统调度选择当前优先级最高的音频输出设备播放声音。

相关 API 请参考 setAudioRouteToSpeaker

5. 新增 [setAllPlayStreamVolume] 接口,用于设置所有拉流声音大小

本端用户可控制所有音频流的播放音量。

相关 API 请参考 setAllPlayStreamVolume

6. 新增 [startNetworkProbe] 接口,用于开始网络探测。新增 [stopNetworkProbe] 接口,用于结束网络探测

在推拉流之前通过网络探测定位一些可能存在的网络问题。

相关 API 请参考 startNetworkProbe, stopNetworkProbe

改进优化

1. 增加明文日志打印,方便开发者自行排查接口调用异常问题

问题修复

1. 修复了 audio device mode 切换异常的问题

废弃删除

1. 废弃 [setPlayStreamVideoLayer] 接口

因为定义了更通用更利于理解的的视图类型参数,在 2.3.0 及以上版本废弃 [setPlayStreamVideoLayer] 接口, 使用 [setPlayStreamVideoType] 接口代替。

相关 API 请参考 setPlayStreamVideoType

2. 废弃 “ZegoEngineConfig” 类的 “logConfig” 属性,增加 [setLogConfig] 接口用于实现原来的功能

相关 API 请参考 setLogConfig

3. 废弃 [setDebugVerbose] 接口,请使用 [setEngineConfig] 函数设置高级属性 "advancedConfig" 来实现原来的功能

通过设置 "advancedConfig" 的 "key" 为 "language","value" 为 "chinese" 或者 "english" 来切换中英文。通过设置 “key” 为 “set_verbose”,“value” 为 “true” 或 “false” 来开关控制台打印功能。

相关 API 请参考 setEngineConfig

4. 废弃 [setBuiltInSpeakerOn] 接口

因为命名规范问题,在 2.3.0 及以上版本废弃 [setBuiltInSpeakerOn] 接口,请使用 [setAudioRouteToSpeaker] 来实现原来的功能。

相关 API 请参考 setAudioRouteToSpeaker



2.2.1 版本

发布日期:2021.02.04

问题修复

1. 修复了在极端情况下发送自定义视频采集数据时,可能导致崩溃的问题

2. 修复了音频自定义采集向 SDK 塞数据时开发者音频通道不合理传参导致的崩溃问题

相关 API 请参考 sendCustomAudioCaptureAACData, sendCustomAudioCapturePCMData

3. 修复了抛解码的码流时在某些设备可能会出现渲染画面任意旋转的问题

相关 API 请参考 onRemoteVideoFrameEncodedData



2.2.0 版本

发布日期:2021.01.28

新增功能

1. 新增自定义视频前处理功能

当开发者需要对采集视频进行前处理,如使用第三方美颜 SDK 时,则可以使用自定义视频前处理功能,很方便地对接视频前处理操作。相比于自定义视频采集功能,此功能无需开发者管理设备输入源,仅需对 SDK 抛出来的原始数据进行操作,然后发回 SDK 侧即可。

相关 API 请参考 enableCustomVideoProcessing

2. 新增音视频通话的房间会话 ID 信息

多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID (当用户收到 [onRoomStateUpdate] 回调时,可通过回调中的 [extendedData] 参数获取 RoomSessionID),标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。

相关 API 请参考 onRoomStateUpdate

3. 媒体播放器新增 SEI 回调

使用媒体播放器播放媒体文件,当媒体播放器解析到媒体文件中含有 SEI 时,将触发 [onMediaPlayerRecvSEI] 回调。

相关 API 请参考 ZegoMediaPlayer > onMediaPlayerRecvSEI

4. 发起混流任务时支持设定高级配置

“[ZegoMixerTask] 中添加 [advancedConfig] 以支持混流高级配置。如需使用,请联系 ZEGO 技术支持。”

相关 API 请参考 startMixerTask

5. 新增棱镜相关质量上报

新增棱镜相关质量上报,方便开发者及时发现问题、定位问题、解决问题,更好、更全面地提升用户体验。

改进优化

1. 当登录房间、推流、拉流出现未知错误码 100XX99 时,[extendedData] 字段会抛出原始服务器码,便于开发者反馈详细问题



2.1.1 版本

发布日期:2021.01.21

问题修复

1. 修复媒体播放器回调视频数据时可能出现的崩溃问题

2. 修复音效播放器加载音效资源,回调加载时机可能不准的问题

3. 修复高频反复调用 [startPlayingStream], [stopPlayingStream] 时可能出现的崩溃问题



2.1.0 版本

发布日期:2021.01.14

新增功能

1. 新增设置拉流缓存区间值功能

该功能用于指定播放缓存自适应调整的区间范围,开发者可根据场景进行设置。

相关 API 请参考 setPlayStreamBufferIntervalRange

改进优化

1. 重构优化 Android JNI 层

问题修复

1. 修复已知问题



2.0.1 版本

发布日期:2021.01.07

问题修复

1. 修复已知问题



2.0.0 版本

发布日期:2020.12.31

新增功能

1. 新增低延迟直播功能

低延迟直播专注于提供稳定可靠的直播服务,相比于标准视频直播产品,音画延迟更低,同步性更强,弱网抗性更好,能为用户带来毫秒级的直播体验。通常用于教育大班课、秀场直播、电商直播、一起看、在线拍卖等场景。详情请参考:低延迟直播

相关 API 请参考 startPlayingStream

2. 新增对 H.265 (HEVC) 编码的支持

新增对 H.265 编码的支持,在同等分辨率、帧率的情况下可以降低码率。

相关 API 请参考 setVideoConfig

问题修复

1. 修复了媒体播放器 [seekTo] 回调触发时,内部对象已被重置引发的崩溃问题。

2. 修复了当调用 [sendCustomCommand] 接口时,用户列表参数 [toUserList] 传 null 时崩溃的问题。

相关 API 请参考 sendCustomCommand

废弃删除

1. 删除 [ZegoEngineConfig] 中的 [customVideoCaptureMainConfig] 和 [customVideoCaptureAuxConfig],请使用 [ZegoExpressEngine] 的 [enableCustomVideoCapture] 接口代替

旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频采集] 之后,Express SDK 新增了独立的 [enableCustomVideoCapture] 接口用于设置自定义视频采集,详情请参考 接口变更说明

相关 API 请参考 enableCustomVideoCapture

2. 删除 [ZegoEngineConfig] 中的 [customVideoRenderConfig],请使用 [ZegoExpressEngine] 的 [enableCustomVideoRender] 接口代替

旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频渲染] 之后,Express SDK 新增了独立的 [enableCustomVideoRender] 接口用于设置自定义视频渲染,详情请参考 接口变更说明

相关 API 请参考 enableCustomVideoRender

3. 删除 [destroyEngine()] 接口,请使用 [destroyEngine(callback)] 代替

新增了一个带 [callback] 参数的销毁引擎接口,若开发者有切换多个音视频 SDK 的需求,则可以通过收到回调时认为 ZEGO SDK 对设备硬件资源的占用已释放完成。若无监听必要,对 [callback] 参数传 null 即可,详情请参考 接口变更说明

相关 API 请参考 destroyEngine

4. 删除 [onRemoteAudioData] 回调,请使用 [onPlaybackAudioData] 代替

旧回调命名与实际功能不符,因此删除改名,详情请参考 接口变更说明

相关 API 请参考 onPlaybackAudioData

5. 删除 [muteAudioOutput] 接口,请使用 [muteSpeaker] 代替

旧接口命名风格和语义不清晰,[muteSpeaker] 使用 Speaker 的定义与 Microphone 对应,详情请参考 接口变更说明

相关 API 请参考 muteSpeaker

6. 删除 [ZegoMediaPlayer] 类中的 [createMediaPlayer] 接口,请使用 [ZegoExpressEngine] 类中的 [createMediaPlayer] 代替

媒体播放器的生命周期跟随引擎,故变更为 ZegoExpressEngine 类的同名实例方法,详情请参考 接口变更说明

相关 API 请参考 createMediaPlayer

7. 删除 [ZegoMediaPlayer] 中的 [volume] 和 [getVolume],请使用 [setPublishVolume]、[getPublishVolume]、[setPlayVolume]、[getPlayVolume] 代替

引擎提供了分别获取播放器推流音量和本地播放音量的功能,故废弃原来的统一获取接口,详情请参考 接口变更说明

相关 API 请参考 ZegoMediaPlayer > setPublishVolume, ZegoMediaPlayer > getPublishVolume, ZegoMediaPlayer > setPlayVolume, ZegoMediaPlayer > getPlayVolume



1.20.1 版本

发布日期:2020.12.24

问题修复

1. 修复了媒体播放器可能存在的开始播放失败的问题

2. 修复了媒体播放器可能存在的跳帧问题



1.20.0 版本

发布日期:2020.12.17

新增功能

1. 新增网络测速功能

该功能支持上行/下行网络测速,可用于检测网络环境是否适合推/拉指定码率的流。调用 [startNetworkSpeedTest] 接口开启该功能,配置“ZegoNetworkSpeedTestConfig”参数以控制测速过程,测速结果将通过 [onNetworkSpeedTestQualityUpdate] 回调通知。

相关 API 请参考 startNetworkSpeedTest, stopNetworkSpeedTest, onNetworkSpeedTestQualityUpdate

2. 新增网络模式变更通知回调

当设备的网络模式改变时,例如从 WiFi 切换到 5G,或断网等情况时,将会抛出此回调。

相关 API 请参考 onNetworkModeChanged

3. 新增摄像头变焦功能

通过 SDK 设置摄像头的变焦倍数,可实现拍摄时放大远方物体的效果,详细功能实现请参考 [进阶功能 - 变焦]。

相关 API 请参考 getCameraMaxZoomFactor, setCameraZoomFactor

4. 新增音频设备路由变更通知回调

当有耳机插拔、扬声器和听筒切换等音频路由发生变化时会抛出此回调。

相关 API 请参考 onAudioRouteChange

5. 自定义视频采集功能新增支持“GL_TEXTURE_EXTERNAL_OES”类型

调用 [enableCustomVideoCapture] 接口时可以选择设置“GL_TEXTURE_EXTERNAL_OES”类型,并通过 [sendCustomVideoCaptureTextureData] 接口发送自定义采集的视频帧数据。

相关 API 请参考 enableCustomVideoCapture, sendCustomVideoCaptureTextureData

问题修复

1. 修复了本地录制功能在异常情况下偶现崩溃的问题

相关 API 请参考 startRecordingCapturedData, stopRecordingCapturedData



1.19.1 版本

发布日期:2020.12.10

改进优化

1. 新增 1002002 错误码,表示 RoomID 有误,请检查当前是否登录了此房间

登录房间后,如果退出或切换房间,且传入的 RoomID 为空或者 RoomID 不存在,则抛出 1002002 错误码。

相关 API 请参考 loginRoom, logoutRoom, switchRoom

问题修复

1. 修复了设置媒体增强补充信息类型时崩溃的问题

相关 API 请参考 setSEIConfig

2. 修复了拉流时切换渲染 View 不生效的问题

相关 API 请参考 startPlayingStream

3. 修复了音效播放器设置指定的播放进度时偶现爆音的问题

相关 API 请参考 seekTo

4. 修复了 FEC 模块在弱网情况下崩溃的问题



1.19.0 版本

发布日期:2020.12.03

新增功能

1. 新增系统性能监控功能,支持监控 CPU 使用率和运存使用率/使用量

调用 [createEngine] 接口创建引擎后可以启动性能监控,并支持设置监控回调间隔(默认为 2s),一般可用于对比推拉流前后的内存增长情况。

相关 API 请参考 startPerformanceMonitor, stopPerformanceMonitor

2. 新增流媒体加密功能

支持使用 AES-128/192/256 对流媒体数据加密。

相关 API 请参考 setPublishStreamEncryptionKey, setPlayStreamDecryptionKey

3. 新增抛出视频时间戳相对于音频时间戳的差值,位于 [ZegoPlayStreamQuality] 中,用于反映拉流中的音画同步情况

该时间戳差值小于 0 表示视频超前音频的毫秒数, 大于 0 表示视频滞后音频的毫秒数, 等于 0 表示无差别。当绝对值小于 200,可基本认为音画同步,当绝对值连续 10 秒大于 200 可以认为异常。

相关 API 请参考 onPlayerQualityUpdate

4. 新增设置选用拉流的视频图层功能

当推流方调用 [setVideoConfig] 接口设置视频编码器(codecID)为 SVC 时,拉流方可以调用 [setPlayStreamVideoLayer] 接口来自行选择拉取标准图层或者基础图层(基础图层的分辨率为标准图层的二分之一),以达到节省带宽的目的。

相关 API 请参考 setPlayStreamVideoLayer

改进优化

1. 新增登录房间失败错误码 1002035,表示测试环境下最大并发房间数超过上限

相关 API 请参考 loginRoom

2. 新增房间广播消息发送失败错误码 1009015,表示广播消息 QPS 超限,最大 QPS 为 2

相关 API 请参考 sendBroadcastMessage

3. 本地媒体录制新增支持 AAC 文件格式

相关 API 请参考 startRecordingCapturedData

4. 媒体播放器新增支持 m3u8 格式,如需使用,请联系 ZEGO 技术支持

相关 API 请参考 ZegoMediaPlayer > loadResource

废弃删除

1. 废弃 [ZegoPlayerConfig] 中的 videoLayer 属性,请使用 [setPlayStreamVideoLayer] 代替

相关 API 请参考 setPlayStreamVideoLayer



1.18.1 版本

发布日期:2020.11.24

问题修复

1. 修复使用辅路自定义音频采集时可能出现异常的问题



1.18.0 版本

发布日期:2020.11.19

新增功能

1. 新增混响高级参数和混响/变声的预设值

通过混响高级参数可以根据需要调节更精细的混响效果,并在原有预设混响中新增了录音室、KTV、摇滚、演唱会等效果,在预设变声中新增了磁性男和清新女音效,增加实时语音趣味性,能够适应更多的场景。

相关 API 请参考 setReverbAdvancedParam, setReverbPreset, setVoiceChangerPreset

2. 新增 SEI 设置类型功能

通过设置 SEI 类型,使开发者使用其他解码器解码时能够正确解析出 SEI。

相关 API 请参考 setSEIConfig

3. 新增流更新时附带扩展信息的回调,如当流被删除时能够抛出相关原因信息

相关 API 请参考 onRoomStreamUpdate

4. 新增按流 ID 形式获取拉流端的音频原始数据

相关 API 请参考 onPlayerAudioData

问题修复

1. 修复调用 [startPlayingStream] 接口设置了视频图层时,再调用 [mutePlayStreamVideo] 接口则会导致图层选用错误的问题

相关 API 请参考 startPlayingStream

2. 优化 [mutePlayStreamAudio] 和 [mutePlayStreamVideo] 调用时机,在拉流前和拉流后设置均能生效

相关 API 请参考 mutePlayStreamAudio, mutePlayStreamVideo

废弃删除

1. 废弃旧的 [setReverbParam] 接口

为了支持更多混响参数,在 1.18.0 及以上版本废弃 [setReverbParam] 接口,请使用带 ZegoReverbAdvancedParam 类型参数的 [setReverbAdvancedParam] 接口代替。

相关 API 请参考 setReverbAdvancedParam

2. 废弃旧的 [onRoomStreamUpdate] 回调

在 1.18.0 及以上版本废弃 [onRoomStreamUpdate] 回调,请使用带 extendedData 扩展信息参数的同名回调代替。

相关 API 请参考 onRoomStreamUpdate



1.17.5 版本

发布日期:2020.11.05

改进优化

1. 当登录房间与发送实时消息传入的房间 ID 不一致时,抛出一个精确的错误码 (1009005)

相关 API 请参考 loginRoom, sendBroadcastMessage, sendBarrageMessage, sendCustomCommand

问题修复

1. 修复辅流发送 SEI 时,对端接收不到的问题

相关 API 请参考 sendSEI



1.17.0 版本

发布日期:2020.10.22

新增功能

1. 新增支持更多变声特效

新增外国人、擎天柱、机器人、空灵 4 种变声效果,轻松创建特色音效,使用户的声音更加妙趣横生。在语音场景中,营造好友语音之间的搞怪气氛,增强娱乐性。

相关 API 请参考 setVoiceChangerPreset

2. 新增支持设置混响回声参数

用户可以根据需要设置混响回声参数,最多允许设置 7 次回声 (delay),并支持单独设置每个回声的延迟、衰减,以及整体的输入输出增益值。也可以搭配变声、混响以实现自定义各式各样的声音效果。

相关 API 请参考 setReverbEchoParam

3. 媒体播放器新增支持设置变声效果

通过改变用户的音调,使输出的声音在感官上与原始声音不同,实现男声变女生等多种效果。

相关 API 请参考 ZegoMediaPlayer > setVoiceChangerParam

4. 新增对推流或拉流画面截图的功能

支持在推拉流过程中对画面进行截图,可用于鉴黄等场景。

相关 API 请参考 takePublishStreamSnapshot, takePlayStreamSnapshot

5. 新增支持瞬态噪声抑制

该功能可用于抑制敲击键盘、桌子等瞬态噪声。

相关 API 请参考 enableTransientANS

6. 媒体播放器新增支持切换音轨

当媒体文件中包含多个音轨时(例如原声和伴奏),支持切换音轨进行播放。

相关 API 请参考 ZegoMediaPlayer > getAudioTrackCount,ZegoMediaPlayer > setAudioTrackIndex

改进优化

1. Android SDK 最低支持的操作系统版本变更

从此版本开始 Android SDK 支持的 API 级别要求不低于 16,最低支持的操作系统版本从原来的 Android 4.0.3 提升到 Android 4.1。

2. 拉流质量回调新增 [videoBreakRate], [audioBreakRate] 等参数,可用于统计拉流卡顿率。

相关 API 请参考 onPlayerQualityUpdate

问题修复

1. 修复媒体播放器在收到 [loadResource] 回调前调用 [enableRepeat] 不生效的问题。

废弃删除

1. 废弃设置变声参数函数 [setVoiceChangerParam] 的 param 参数的预设枚举构造函数,该函数仅用于微调设置 pitch 值,如需使用预设枚举来设置变声,请使用新增的 [setVoiceChangerPreset] 函数。

相关 API 请参考 setVoiceChangerPreset, setVoiceChangerParam

2. 废弃设置混响参数函数 [setReverbParam] 的 param 参数的预设枚举构造函数,该函数仅用于微调设置具体的混响参数值,如需使用预设枚举来设置混响,请使用新增的 [setReverbPreset] 函数。

相关 API 请参考 setReverbPreset, setReverbAdvancedParam



1.16.1 版本

发布日期:2020.10.15

改进优化

1. 媒体播放器内部启用快速 seek 配置,优化媒体播放器加载 MP3 文件缓慢的现象。

2. 升级第三方库,保障 SDK 安全质量水平,FFmpeg 升级到 4.2.2 版本。

问题修复

1. 修复 ClassLoad 被释放时, JNI 导致某些机器低概率崩溃问题。

2. 修复少部分用户出现视频编码码率骤降的问题。



1.16.0 版本

发布日期:2020.09.24

新增功能

1. 新增音效播放器功能

音效是指为了增强真实感或者烘托场景氛围播放的简短效果音,例如:在直播期间播放掌声、礼物音效、提示音等;在游戏中,播放子弹声、碰撞打击声。

音效播放器支持音效播放(可以多音效重叠播放)、播放控制(如暂停播放、音量调节、设置播放进度)、预加载音效等功能。

相关 API 请参考 createAudioEffectPlayer, destroyAudioEffectPlayer

问题修复

1. 修复 [onRoomStreamExtraInfoUpdate] 可能会在预期外回调空列表的问题

相关 API 请参考 onRoomStreamExtraInfoUpdate

2. 修复多次使用 [setEventHandler] 更换 IZegoEventHandler 后,某些回调可能引起 crash 的问题。

相关 API 请参考 setEventHandler



1.15.2 版本

发布日期:2020.09.17

问题修复

1. 修复用户进出房间回调接口 (onRoomUserUpdate) 有概率误触发全量回调的问题

相关 API 请参考 onRoomUserUpdate



1.15.0 版本

发布日期:2020.09.10

新增功能

1. 增加媒体播放器音量控制功能

允许单独设置和获取媒体播放器的本地播放音量和推流音量。

相关 API 请参考 ZegoMediaPlayer 类的 setPlayVolume, setPublishVolume, getPlayVolume, getPublishVolume 方法。

2. 新增设置音频采集双声道模式功能

双声道即两个声音通道,听到声音时可以根据左耳和右耳对声音相位差来判断声源的具体位置。当开发者开启双声道采集后,使用专门的双声道采集设备,可以采集到双声道的音频数据并进行推流(推流需同时通过 setAudioConfig 接口开启双声道音频编码功能)。

相关 API 请参考 setAudioCaptureStereoMode, setAudioConfig

3. 开启声浪/音频频谱监控的接口支持设置回调间隔时间

开发者可自行控制声浪/音频频谱监控的回调间隔,默认为 100 ms,取值范围为 [100, 3000]。

相关 API 请参考 startSoundLevelMonitor, startAudioSpectrumMonitor

4. 新增切换房间时配置进阶属性功能

切换房间时允许对新房间的属性进行配置,如登录鉴权等。

相关 API 请参考 switchRoom

改进优化

1. 自定义采集调用向 SDK 发送数据的高频 API 出错后取消弹窗提示逻辑,仅打印控制台日志

问题修复

1. 修复自定义采集 [onStop] 事件在用户被踢出房间后不触发的问题

废弃删除

1. 废弃媒体播放器中的 getVolume 接口,请使用 getPlayVolumegetPublishVolume 代替

2. 废弃 onRemoteAudioData, 请使用 onPlaybackAudioData 代替

3. 废弃 ZegoAudioDataCallbackBitMaskRemote, 请使用 ZegoAudioDataCallbackBitMaskPlayback 代替



1.14.0 版本

发布日期:2020.08.27

新增功能

1. 新增切换房间功能

该功能支持用户切换房间,调用 switchRoom 接口后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前通过调用登出原房间和加入新房间两个接口实现的方法相比,更易用也更高效。

相关 API 请参考 switchRoom

2. 新增自定义采集流控通知

自定义采集使用码流推流时,当网络环境发生变化后,SDK 会向开发者抛出需要进行流控的通知。

相关 API 请参考 onEncodedDataTrafficControl

改进优化

1. 增加 onRoomStreamExtraInfoUpdate 的触发时机

当用户进入房间,房间内有流且带有附加信息时,onRoomStreamExtraInfoUpdate 将会回调,因此开发者只需要关心此回调即可处理流附加信息的逻辑。

相关 API 请参考 onRoomStreamExtraInfoUpdate

问题修复

1. 修复在推拉流过程中直接调用 destroyEngine 后,下一次调用开启自定义视频采集渲染、自定义音频采集渲染接口会失败的问题。

相关 API 请参考 enableCustomVideoCapture, enableCustomVideoRender, enableCustomAudioIO

2. 修复 onPlayerRecvSEI 会接收到编码器或者视频文件本身附带的 SEI 的问题。

相关 API 请参考 onPlayerRecvSEI

3. 修复通过 ZegoVideoConfigPreset 的 720P 枚举值得到的编码分辨率 Height 有误的问题。



1.13.0 版本

发布日期:2020.08.13

新增功能

1. 新增多房间功能

该功能支持同一用户可以同时加入多个房间,目前可进入的总房间数最多为两个。用户加入房间后,只能在主房间中推流,但可以在所有房间中拉流,并且可以正常接收每个房间的信令和回调。该功能通常用于“超级小班”等场景,若需要开启,请联系 ZEGO 技术支持。

相关 API 请参考 loginMultiRoom

2. 新增房间附加消息功能

该功能可以设置一个以房间为单位的附加消息,该消息跟随整个房间的生命周期,每个登录到房间的用户都能够同步消息。开发者可用于实现各种业务逻辑,如房间公告等等。目前房间附加消息只允许设置一个键值对,且 key 最大长度为 10 字节,value 最大长度为 100 字节。

相关 API 请参考 setRoomExtraInfo

3. 新增音频前/后处理功能

允许开发者在采集音频数据后,或者拉取远端音频数据渲染前,对音频数据进行自定义处理。该功能通常用于 “变声”、“美声” 等场景。

相关 API 请参考 enableCustomAudioCaptureProcessing, enableCustomAudioRemoteProcessing

4. 自定义视频采集模块增加视频图像翻转功能(水平/垂直)

开发者自行采集纹理时,常出现图像上下颠倒的问题,该功能允许开发者在使用传入纹理 ID (Texture) 的类型进行自定义视频采集时,对视频图像进行翻转。仅当 enableCustomVideoCapture API 的 ZegoCustomVideoCaptureConfig 参数中的 bufferType 属性为 GLTexture2D 时,该设置才有效。

改进优化

1. 扩大推拉流采集音量范围

推流采集音量与拉流播放音量范围由 0 ~ 100 扩大至 0 ~ 200,默认值为 100。

相关 API 请参考 setCaptureVolume, setPlayVolume



1.12.3 版本

发布日期:2020.08.06

问题修复

1. 修复当登录房间失败后立即重新登录房间时,可能会抛出预期外的 超过最大房间登录数量 错误码的问题。

2. 修复 IM 消息的回调内容最大长度不符合预期的 1024 字节的问题。

3. 修复使用 setEngineConfig 的已废弃参数开启辅路推流通道的自定义视频采集功能时的崩溃问题。



1.12.0 版本

发布日期:2020.07.30

新增功能

1. 新增音效均衡器(EQ)

支持调整 10 个频带的增益值,从而达到调整音色的目的。

相关 API 请参考 setAudioEqualizerGain



1.11.4 版本

发布日期:2020.07.23

问题修复

1. 修复 AudioDataCallback 可能不回调的问题。

2. 修复 ZegoAudioConfig 的 codecID 当设为 Low3 时无效的问题。

3. 修复 destroyEngine 时个别功能组件销毁失败的问题。

4. 修复当快速 destroy/create engine 时 MediaRecord 可能不回调的问题。

5. 修复 JNI 采样率转换出错的问题。



1.11.0 版本

发布日期:2020.07.15

新增功能

1. 新增白板底层 API (白板SDK),可以结合 ZegoWhiteboardView 实现互动白板的功能。

改进优化

1. IM 消息内容传输长度增加至 1024 个字节,包括房间广播消息 broadcast message 和房间弹幕消息 barrage message

2. 使用自定义视频采集时,setVideoMirrorModesetPublishWatermark 均可生效。

问题修复

1. 修复 JNI 回调时全局对象引用个数溢出造成的崩溃,此问题在 32 位低端机器下容易出现。

2. 修复 JNI 对字符串裁剪的逻辑,解决当发送IM消息内容长度超出时会对字符进行裁剪继续发送的 bug。



1.10.0 版本

发布日期:2020.06.30

新增功能

1. 新增虚拟立体声、变声、混响功能。

开发者基于此可实现一些音频前处理效果。

相关 API 请参考 enableVirtualStereo, setVoiceChangerParam, setReverbAdvancedParam

2. 新增本地媒体录制功能。

开发者可将音视频流录制成本地文件,便于日后作回放等用途。

相关 API 请参考 startRecordingCapturedData, stopRecordingCapturedData

3. 新增获取音频 PCM 数据功能。

开发者通过监听音频数据回调获取 PCM 数据后可作进一步用途,如对接第三方音频鉴黄、字幕生成等功能。

相关 API 请参考 enableAudioDataCallback

4. 新增自定义渲染新增获取拉流端未解码数据回调。

开发者可通过此回调获取未解码数据之后自行解码渲染:ZegoCustomVideoRenderConfig 中允许将 bufferype 的类型设置为 EncodedData

5. 新增音频降噪模式,默认为 Medium 中等模式。

相关 API 请参考 setANSMode

6. 新增自定义音频采集与渲染功能。

开发者可通过此功能自行采集音频数据发送给 SDK,并且自行获取远端拉流的音频数据来处理或播放。

相关 API 请参考 enableCustomAudioIO

7. Android 的 getCustomVideoCaptureSurfaceTexture 新增重载参数,支持选择 ZegoPublishChannel

8. Android 的 setCustomVideoCaptureFillMode 新增重载参数,支持 ZegoPublishChannel

改进优化

1. 增加新错误码 1001011

当开发者使用了未支持的 bufferType 传入自定义视频渲染配置时,会报错此错误,提醒开发者设置有误。



1.9.3 版本

发布日期:2020.06.28

问题修复

1. 修复自定义视频采集推辅流时会可能出现异常的问题



1.9.2 版本

发布日期:2020.06.20

问题修复

1. 修复混流声浪 onMixerSoundLevelUpdate 回调的问题。



1.9.1 版本

发布日期:2020.06.17

问题修复

1. 修复混音 onAudioMixingCopyData 回调数据的拷贝和越界问题。



1.9.0 版本

发布日期:2020.06.15

新增功能

1. 增加 enableCustomVideoCapture, enableCustomVideoRender 接口,允许在createEngine 之后,预览/推拉流之前,选择是否使用自定义视频采集/渲染功能。

2. 增加混音模块功能:开启混音、对本地混音静音、设置混音音量、向 SDK 拷贝混音数据的回调。

3. 增加 enableHeadphoneMonitor 接口,支持耳返功能。

4. 增加自定义视频采集模块里的 sendCustomVideoCaptureEncodedData,支持发送已编码好的码流数据。

问题修复

1. 修复媒体播放器视频帧回调的 rotation 参数有误的问题。

2. 修复使用辅流推流时可能会出现异常的问题。

3. 当流 ID 传 null 时抛出正确的错误码。

4. 修复部分回调在 destroyEngine 之后将不再回调的问题。

废弃删除

1. 废弃 ZegoEngineConfig 类里的 customVideoCaptureMainConfig, customVideoCaptureAuxConfig, customVideoRenderConfig 成员,请使用上述新增的 enableCustomVideoCapture, enableCustomVideoRender 接口。



1.8.2 版本

发布日期:2020.06.11

问题修复

1. 修复美颜功能失效的问题。

2. 修复 advancedConfig 含有特殊字符时设置失败的问题。

3. 修复 JCenter 版本 SDK 发送弹幕消息可能导致 crash 的问题。



1.8.0 版本

发布日期:2020.05.31

新增功能

1. 增加获取当前音频质量参数(音频码率、推流声道数等)和视频参数(分辨率、码率、帧率等),接口分别为:getAudioConfiggetVideoConfig,方便开发者随时获取和管理当前音视频质量参数。

2. 增加获取音频设备的状态,对应接口为:isMuteMicrophoneisMuteSpeaker,方便开发者管理音频设备的状态。

问题修复

1. 修复部分内部状态生命周期过长或过短的问题。

2. 修复多次设置混流输入输出列表会不断递增的问题



1.7.9 版本

发布日期:2020.05.18

问题修复

1. 修复调用 setEngineConfig 显式设置日志路径不生效的问题。

2. 修复首次 createEngine 时没有日志的问题

3. 修复 setEventHandler 设置为 null 不生效的问题。



1.7.5 版本

发布日期:2020.05.15

新增功能

1. 新增错误码 1000008

再次调用 setEventHandler 更改 Event Handler 前需要显式置空。

问题修复

1. 修复 setEngineConfig 接口在 createEngine 之后调用不生效的问题。

2. 修复媒体播放器无法正确获取到 index 的问题。

3. 修复 sendBarrageMessagesendCustomCommand 接口参数顺序不正确的问题。



1.7.0 版本

发布日期:2020.04.30

新增功能

1. 新增房间在线人数更新回调 onRoomOnlineUserCountUpdate;开发者基于此回调可以实时监听当前房间人数的变更情况,并以 UI 形式向用户展示。

2. 新增媒体播放器实例 index 的可读属性。

3. 新增错误码枚举描述头文件,开发者可直接通过头文件查看所有 Express 的错误码。

问题修复

1. 修复混流时带鉴权转推 CDN 的情况下,会因为 URL 非法被过滤的问题。



1.6.0 版本

发布日期:2020.04.15

新增功能

1. 为 onPublisherQualityUpdate 回调新增几个质量属性,包括 totalSendBytes(已发送的总字节数)、audioSendBytes(已发送的音频字节数)、videoSendBytes(已发送的视频字节数)。开发者可以根据这些属性进行推流数据的统计。

2. 为 onPlayerQualityUpdate 回调新增几个质量属性,包括 totalRecvBytes(已接收的总字节数)、audioRecvBytes(已接收的音频字节数)、videoRecvBytes(已接收的视频字节数)、peerToPeerDelay(端到端延迟)、peerToPeePacketLostRate(端到端丢包率)。开发者可以根据这些属性进行拉流数据和拉流延迟的统计。

改进优化

1. 重构 API 上报模块,优化逻辑。

问题修复

1. 修复从 JNI 回调 Java 过于频繁而可能出现崩溃的问题。

2. 修复渲染首帧回调不生效的问题。



1.5.6 版本

发布日期:2020.04.05

问题修复

1. 修复 JCenter 版本包中含有无用资源的问题,减小包大小。

2. 移除 Android support 和 Android X 的相关依赖,避免冲突。

3. 修复 Android 特定低端机偶尔出现的崩溃问题。



1.5.5 版本

发布日期:2020.03.31

改进优化

1. 优化 API 注释。



1.5.1 版本

发布日期:2020.03.19

问题修复

1. 修复正确填写混流配置后发起混流时,仍有几率被 SDK 检测为混流失败的问题。

2. 修复混流转推 CDN 时,RTMP 格式 URL 检测有误的问题。

3. 修复一些极端场景下未抛出正确错误码的问题。



1.5.0 版本

发布日期:2020.03.14

新增功能

1. 增加场景预配置属性。

开发者在调用 createEngine 时,可选择应用场景,SDK 会针对实时通讯场景和直播场景进行最优预配置。

2. 增加推辅流功能。

当开发者需要实现一路流推摄像头,另一路流推如屏幕采集等输入源时,可使用推辅流功能。该功能可用于实现教学、会议等场景。

3. 增加设置视频编码 ID。

开发者通过在 setVideoConfig 中设置 codecID 为 multi layer,可使用分层编码的功能。

4. 增加推流流控功能。

开发者可通过调用 enableTrafficControl 选择流控的自适应属性,包括:自适应分辨率、自适应码率、自适应帧率。

5. 增加直接推流到 CDN 功能。

开发者可通过指定具体 CDN 的 URL(或使用Zego后台配置),直接将音视频流推送到 CDN,需在推流前设置。

相关 API 请参考 enablePublishDirectToCDN

6. 增加拉流进阶配置。

startPlayingStream 增加一个重载 API ,实现进阶拉流功能。开发者可通过设置拉流CDN配置,直接通过 URL 进行拉流。当推流方使用了直推或转推 CDN 功能的情况下,拉流方需要使用 URL 进行拉流。当推流方开启了分层编码功能后,拉流方可通过设置 videoLayer 为 base 以拉取低分辨率图层。

7. 混流支持标识每条输入流的声浪。

当开发者需要让拉混流的观众知道当前每条流的声浪状态时,可在发起混流时调用 enableSoundLevel 开启 sound level,且在每条输入流配置中标记一个唯一的音浪ID,则拉流方可以通过监听 onMixerSoundLevelUpdate 获取每条流的音浪通知。

8. 增加房间弹幕消息功能。

当开发者需要在超过 500 人的房间中发送一些业务不可靠的消息时(如弹幕消息,房间每位观众不一定都必须收到每一条信息),可使用房间弹幕消息功能。

相关 API 请参考 sendBarrageMessage

9. 自定义视频采集时支持 SDK 内部渲染预览画面。

当开发者使用自定义采集功能时,无需再自行进行渲染,方便使用。

改进优化

1. 废弃原本无参数的 destroyEngine 接口,增加同名但带一个 callback 参数的 destroyEngine 接口。

当开发者销毁 SDK 且收到回调时,则可认为 SDK 内部占用资源已释放,此时开发者可进行多家 SDK 的切换。



1.4.0 版本

发布日期:2020.02.13

新增功能

1. 新增支持自定义视频采集、自定义视频渲染。



1.3.5 版本

发布日期:2020.01.17

问题修复

1. 修复媒体播放器的一些问题。



1.3.4 版本

发布日期:2019.12.27

新增功能

1. 新增媒体播放器 (MediaPlayer) 模块。

2. 新增 SEI (媒体增强补充信息) 模块。

3. 新增 setAudioConfig 接口,可选择配置推流前音频参数(音频编码类型/音频码率/声道数)



1.3.3 版本

发布日期:2019.12.13

新增功能

1. 新增流附加信息更新接口。

2. 新增监听音频声浪与频域功率谱接口。

3. 新增改变采集缩放时机接口。

4. 新增帧顺序检测开关接口。

5. 新增预览/拉流 Canvas 背景色设置。

6. 新增推流/拉流水印设置接口。

改进优化

1. 日志功能优化。



1.2.1 版本

发布日期:2019.11.27

新增功能

1. 新增混流模块。

2. 新增 IM 模块。



1.1.1 版本

发布日期:2019.11.11

新增功能

1. 新增日志压缩上报功能,支持测试环境上报全量接口调用日志,用于接口使用情况分析。

问题修复

1. 对齐各端接口,接口命名、参数命名、取值等统一。



1.1.0 版本

发布日期:2019.11.01

新增功能

1. 首次发布,包含系统、房间、推流、拉流、前处理、设备模块。