低延迟直播
  • iOS : Objective-C
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 产品简介
    • 概述
    • 发布日志
    • 计费说明
  • 下载
  • 快速开始
    • 跑通示例源码
    • 集成 SDK
    • 实现流程
  • 基础功能
  • 进阶功能
  • 最佳实践
  • 客户端 API
  • 服务端 API
  • 常见错误码
  • 常见问题
  • 文档中心
  • 低延迟直播
  • 产品简介
  • 发布日志

发布日志

更新时间:2022-10-27 18:40

2.19.0 版本

发布日期:2022.05.11

新增功能

1. 直推 CDN 的流支持通过 L3 拉流

直推 CDN 时,在不改变推流方式的情况下,SDK 从客户的 CDN 源站拉流,通过 L3 将音视频内容分发给观众,通过 [ZegoResourceType] 控制源站资源。该功能常用于直播场景。

相关 API 请参考 startPlayingStream

2. 音视频场景下支持 SEI 数据随音频帧同步

注意:目前只支持 RTC 场景,直推 CDN 和转推 CDN 场景下无效。

从 2.19.0 版本开始,支持在音视频场景下将 SEI(媒体补充增强信息)与音频帧同步发送。该功能常用于 SEI 与音频强相关的视频场景,例如实时 KTV。

在 2.19.0 之前版本中,SEI 数据是跟随视频帧数据一起发送,一般情况下视频帧率远低于音频帧率,导致混流对齐、伴奏对齐场景下等 SEI 精度/频率不足。

相关 API 请参考 onPlayerRecvAudioSideInfo, sendAudioSideInfo

改进优化

1. 为了提高安全性,此版本将 curl 升级到 7.82.0

问题修复

1. 修复了调用网络测速接口后立刻调用开始推流接口时,收不到网络测速回调的问题

2. 修复了 H.265 在只进行本地媒体录制时(未推流)不生效的问题

3. 修复了自定义采集时 [onEncodedDataTrafficControl] 不回调的问题

4. 修复了通过 CocoaPods 依赖的 iOS SDK 无法打包 Release 模拟器架构的问题



2.18.1 版本

发布日期:2022.04.13

问题修复

1. 修复了日志上报时,日志文件收集异常的问题



2.18.0 版本

发布日期:2022.04.09

新增功能

1. 新增 AI 降噪功能

注意:AI 降噪目前会对麦克风采集的音乐有较大损伤,包括人通过麦克风唱歌的声音。如需使用该功能,请联系 ZEGO 技术支持。

AI 降噪指的是 SDK 会对麦克风采集的声音进行降噪处理,在原有的稳态噪声正常处理的情况下,还会处理非稳态噪声,主要包括鼠标、键盘声、敲击、空调、厨房碗碟、嘈杂餐厅、环境风声、咳嗽、吹气 等非人声噪声。通过 [setANSMode] 接口中的 “ZegoANSMode” 参数设置 AI 降噪模式,并且可以实时调整降噪模式,详情请参考 AI 降噪

该功能常用于通话、会议等没有背景音乐的场景,例如普通音质语聊房、语音会议、语音开黑、一对一视频通话。

相关 API 请参考 setANSMode

2. 支持设置音效的播放速度

开始播放音效后, 调用 [SetPlaySpeed] 接口可以对音效设置四种播放速度(会同时设置本地播放速度和推流速度),分别为 0.5 倍速、原始速度、1.5 倍速和 2 倍速,默认为原始速度。

3. CDN 直播时支持使用 QUIC 协议推拉流

QUIC 协议推拉流主要用于改善弱网环境下 CDN 直播质量不稳定的情况,但是改善有限,推荐使用低延时直播,享受高质量且低延时的直播服务。当前支持使用腾讯、网宿两家 CDN 直播产品的 QUIC 协议推流及拉流。

通过 [enablePublishDirectToCDN] 接口中的 “ZegoCDNConfig” 参数配置推流协议和 QUIC 版本,若想进行 QUIC 协议的自定义 CDN 拉流,需要通过 [startPlayingStream] 中的 “ZegoPlayerConfig“ 参数配置拉流协议和 QUIC 版本。

相关 API 请参考 enablePublishDirectToCDN

4. 支持监听推拉流的地址和协议相关信息

发起推流后,可以通过 [onPublisherStreamEvent] 回调实时监听推流状态,该回调会返回当前使用的推流地址、资源类型和协议相关信息。

发起拉流后,可以通过 [onPlayerStreamEvent] 回调实时监听拉流状态,该回调会返回当前使用的拉流地址、资源类型和协议相关信息。

相关 API 请参考 onPublisherStreamEvent, onPlayerStreamEvent

5. 支持通过 URL 设置混流水印和混流的输入音量

调用 startMixerTask 开启或更新混流任务,支持通过 “backgroundUrl” 和 “inputVolume” 分别设置混流水印和混流的输入音量。

相关 API 请参考 startMixerTask

6. 支持返回登录房间和退出房间结果

[loginRoom] 接口新增 “callback” 参数,支持从 “callback“ 返回登录房间结果。

[logoutRoom] 接口新增 “callback” 参数,支持从 “callback“ 返回退出房间结果。

相关 API 请参考 loginRoom, logoutRoom

7. 新增房间状态变化通知 [onRoomStateChanged]

当房间的连接状态发生变化时会触发 [onRoomStateChanged] 回调,通过“ZegoRoomStateChangedReason” 参数提供更加详细的连接状态及状态变化原因。

相关 API 请参考 onRoomStateChanged

改进优化

1. 混流文字水印支持设置字体边框及颜色

调用 startMixerTask 接口,通过 “ZegoFontStyle” 中的 “border” 属性可以设置字体是否有边框,通过 “borderColor” 属性可以设置字体边框颜色。

相关 API 请参考 startMixerTask

2. 完善开始混流接口 [startMixerTask] 返回的错误码

新增 1005000 错误码,表示未开通混流服务。出现此错误码时,请在 ZEGO 控制台 自助开通混流服务(开通步骤请参考 项目管理 - 服务配置 中的“混流”),或联系 ZEGO 技术支持开通。

相关 API 请参考 startMixerTask

问题修复

1. 修复了某些平台使用 boringssl 加解密异常的问题

2. 修复了硬编失败后未快速回滚软编的问题

3. 修复了 iOS 平台多次创建引擎和销毁引擎可能会导致断网情况下设置重试最大时间失效的问题



2.17.1 版本

发布日期:2022.03.11

问题修复

1. 修复了在 32 位机器下推实时音视频流失败的问题



2.17.0 版本

发布日期:2022.03.09

新增功能

1. 支持设置视频帧率和视频分辨率的最小值

新增 [setMinVideoFpsForTrafficControl] 和 [setMinVideoResolutionForTrafficControl] 接口,可以用于用户网络不佳且开启了流量控制时,通过调用接口设置最低视频帧率及分辨率,帮助用户综合控制视频的显示效果。

相关 API 请参考 setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl

2. 支持稳态语音设置检测周期参数

稳态语音默认检测周期为 3 秒,用户如需修改默认检测周期,可通过 [startAudioVADStableStateMonitor] 接口自定义检测周期参数。

相关 API 请参考 startAudioVADStableStateMonitor

3. 范围语音新增隐秘小队模式

新增枚举 [ZegoRangeAudioModeSecretTeam] 隐秘小队模式。在该模式下,同一房间下的用户,收听者既能与同一小队的人交流,也能听到所有在音频接收范围内且为全世界模式发声者的声音,如太空狼人杀游戏场景。

相关 API 请参考 setRangeAudioMode

4. 新增调试助手功能

注意:该功能仅在开发阶段使用,请勿在线上版本开启此功能。

新增 [enableDebugAssistant] 接口,开发者调用该接口开启调试助手功能,SDK 将会打印日志到控制台,并且在 SDK 其他接口的调用出现异常时,UI 会弹窗提示错误。

相关 API 请参考 enableDebugAssistant

改进优化

1. 优化了鉴权方式

2.17.0 及以上版本,在创建引擎时将 AppSign 传空或不传,并且在登录房间时必须传入 Token,鉴权通过后即可使用实时音视频功能,具体请参考 使用 Token 鉴权

2.17.0 以下版本,在创建引擎时传入 AppSign,鉴权通过后即可使用实时音视频功能。

相关 API 请参考 createEngine

问题修复

1. 修复了字符串类型的参数命名长度超长时可能导致崩溃的问题

2. 修复了当推流端 App 从后台返回前端时,拉流端收不到卡顿结束事件 BreakResume 的问题

3. 修复了其他已知问题



2.16.3 版本

发布日期:2022.02.10

问题修复

1. 修复了同时调用 [loginRoom] 和 [startPublishingStream] 接口时,对端有概率出现收不到流新增通知的问题



2.16.2 版本

发布日期:2022.01.26

问题修复

1. 修复了用户无法接收到登录房间前该房间内其他用户发送的房间附加消息的问题



2.16.1 版本

发布日期:2022.01.20

问题修复

1. 修复已知问题



2.16.0 版本

发布日期:2022.01.14

新增功能

1. 游戏语音支持设置是否接收指定用户的音频数据

游戏语音模块新增 [muteUser] 接口,本地用户可以根据需要,在初始化游戏语音 [CreateRangeAudio] 之后,通过 [MuteUser] 接口设置是否接收指定远端用户的音频数据。

该功能常用于游戏场景,例如发声者被墙壁阻挡,则听众不需要接收该声音。

相关 API 请参考 muteUser

2. 拉流质量回调 [onPlayerQualityUpdate] 中新增 MOS 音质评分

[onPlayerQualityUpdate] 回调新增 “mos” 参数,表示对拉流音质的评分。开发者对音频质量比较关注时,可通过该参数了解当前音频的质量情况。

相关 API 请参考 onPlayerQualityUpdate

3. 支持 ROI(region of interest)智能视频编码,提升指定区域画质

注意:目前只有特定的视频编码器支持此功能,如需使用,请联系 ZEGO 技术支持。

开发者可以调用 [setCustomVideoCaptureRegionOfInterest] 接口设置指定推流通道自定义视频采集编码器的感兴趣区域(ROI),同样码率情况下,ROI 区域内的画质更加清晰。

该功能常用于远程控制、人脸检测 等场景。

相关 API 请参考 setCustomVideoCaptureRegionOfInterest

4. 支持基于 rtmp over quic 协议推流

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

为了在弱网环境下让推流端可以推更高画质的视频流,SDK 支持基于 rtmp over quic 协议来推流。

该功能常用于单主播直推 CDN、直播 PK 场景。

5. H.265 拉流支持自动降级

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

2.15.0 及之前版本:SDK 在使用 [startPlayingStream] 拉 H.265 编码的流时,如果拉流端出现因硬件性能较差导致解码帧率不足时,SDK 无法主动降级,需要用户先停止拉 H.265 编码的流,再转拉 H.264 编码的流。

2.16.0 及以上版本:新增 H.265 拉流自动降级策略,在使用 [startPlayingStream] 拉 H.265 编码的流时,SDK 可以根据拉流质量情况,在拉流端硬件性能较差导致解码帧率不足的情况下,会自动降级拉 H.264 编码的流。

相关 API 请参考 startPlayingStream

改进优化

1. 优化了基础美颜功能

ZEGO 提供了全新的基础美颜功能,为用户呈现出良好的肌肤状态,打造自然的美颜效果。开发者需要在推流前先调用 [startEffectsEnv] 接口初始化美颜环境,然后调用 [enableEffectsBeauty] 接口开启美颜功能。通过 [setEffectsBeautyParam] 接口可以按需调整美白、磨皮、锐化以及红润的程度,实现基础美颜能力。

该功能常用于视频通话、直播等场景。

相关 API 请参考 startEffectsEnv, stopEffectsEnv, enableEffectsBeauty, setEffectsBeautyParam

2. 媒体播放器回调支持返回视频帧时间戳

媒体播放器的 [onVideoFrame] 和 [onVideoFramePixelBuffer] 回调支持返回视频帧对应的时间戳。

3. 优化 NTP 时间误差

调用 [getNetworkTimeInfo] 接口获取同步网络时间信息时,SDK 会定时更新 NTP 时间,减少获取到的 NTP 时间误差。

相关 API 请参考 getNetworkTimeInfo

4. 创建引擎时支持校验 jar 和 so 版本

调用 [createEngine] 创建引擎时,SDK 支持校验 jar 与 so 版本是否一致,如果校验到版本不一致则会抛出 RuntimeException 异常。

相关 API 请参考 createEngine

问题修复

1. 修复了反初始化 SDK 时偶现崩溃的问题

废弃删除

1. 废弃了旧版本的基础美颜相关接口

旧的美颜功能较为简单,不太符合开发者的预期,因此在 2.16.0 及以上版本废弃了 [enableBeautify] 接口,请使用 [enableEffectsBeauty] 接口代替;废弃了 [setBeautifyOption] 接口,请使用 [setEffectsBeautyParam] 代替。

相关 API 请参考 enableBeautify, enableEffectsBeauty, setBeautifyOption, setEffectsBeautyParam



2.15.0 版本

发布日期:2021.12.09

新增功能

1. 支持设置自定义视频采集的设备状态

新增 [setCustomVideoCaptureDeviceState] 接口,在使用自定义视频采集时,开发者可以设置指定通道自定义视频采集的采集设备状态,远端可以通过 [onRemoteCameraStateUpdate] 回调获取推流端的状态变更。该功能常用于秀场直播场景。

相关 API 请参考 setCustomVideoCaptureDeviceState

2. 媒体播放器支持播放音乐时获取声浪和频谱

媒体播放器新增声浪频谱回调和开关接口,可以控制是否开启回调以及回调的频率,从而获取媒体播放器当前的声浪和频谱。在通过媒体播放器播放资源,如一起看电影、游戏语聊房场景时,通过该功能可以做频谱动画的功能,增加趣味性。

创建媒体播放器后,调用 [enableSoundLevelMonitor] 接口可以开启声浪监听,开启后可以通过 [onMediaPlayerSoundLevelUpdate] 回调监听声浪的变化。

创建媒体播放器后,调用 [enableFrequencySpectrumMonitor] 接口可以开启频谱监听,开启后可以通过 [onMediaPlayerFrequencySpectrumUpdate] 回调监听频谱的变化。

相关 API 请参考 enableSoundLevelMonitor, onMediaPlayerSoundLevelUpdate, enableFrequencySpectrumMonitor, onMediaPlayerFrequencySpectrumUpdate

3. 支持自定义视频采集时发送与当前视频帧同步的媒体增强补充信息(SEI)

在使用自定义视频采集功能时,调用 [sendSEISyncWithCustomVideo] 接口可以实现在推流传输视频流数据的同时,发送流媒体增强补充信息来同步一些其他附加信息,该信息与当前视频帧同步。该功能常用于需要播放内容与视频帧强同步的场景,比如视频 K 歌,视频跟歌词强同步。

相关 API 请参考 sendSEISyncWithCustomVideo

4. 支持全方位虚拟立体声

新增支持全方位虚拟立体声,将单声道的声音,通过算法处理,模拟成立体感的声音。该功能常用于 KTV 场景中,可以使唱歌的声音更加有立体感。

当调用 [enableVirtualStereo] 接口,将 angle 参数设置为 -1 时,表示立体声效果为全方位立体声。

相关 API 请参考 enableVirtualStereo

5. 新增本地设备异常回调 [onLocalDeviceExceptionOccurred]

通过 [onLocalDeviceExceptionOccurred] 回调可以设置要检测的设备类型,如摄像头、扬声器、麦克风等,开发者可以根据不同设备类型的错误回调进行相应的处理。

相关 API 请参考 onLocalDeviceExceptionOccurred

6. iOS 支持 Mac Catalyst 架构 (arm64 + x86_64)

开发者可以通过 Mac Catalyst 框架将 iOS 应用移植到 macOS 上。

改进优化

1. [setCustomVideoCaptureRotation] 兼容支持 pixelbuffer 数据类型

当自定义视频采集视频帧数据类型 [ZegoVideoBufferType] 为 pixelbuffer 类型时,支持调用 [setCustomVideoCaptureRotation] 接口设置自定义画面旋转角度。

相关 API 请参考 setCustomVideoCaptureRotation

2. 混流输出支持进阶的编码参数配置

混流输出视频配置 [ZegoMixerOutputVideoConfig] 新增 encodeProfile 和 encodeLatency 参数、分别用于设置混流输出视频编码规格和混流输出视频编码延时。

3. 新增 1015032 错误码

登录房间导致网络测试停止,由于网络测试会占用带宽,请在登录房间之前进行。

4. 新增 1002066 错误码

用户登录房间时如果在服务器黑名单中,则会返回此错误码,表示禁止登录房间。

5. 新增 1004072 错误码

当使用 SDK 拉低延迟直播流时,若您未开通低延迟直播服务,则会返回此错误码。

问题修复

1. 修复了 [onDeviceError] 可能重复回调的问题

废弃删除

1. 废弃 [onDeviceError] 回调

为了让开发者直观的了解出现异常的设备类型以及具体的异常情况,在 2.15.0 及以上版本废弃了 [onDeviceError] 回调,请使用 [] 回调代替。

相关 API 请参考 onLocalDeviceExceptionOccurred



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] 接口设置指定推流通道自定义采集画面的顺时针旋转角度。

相关 API 请参考 setCustomVideoCaptureRotation

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. 优化了反初始化 SDK 后,再次初始化 SDK 时,wakeup 次数会递增的问题

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

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

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

8. 官网的 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

5. 支持设置麦克风和 App 采集音频的音量

iOS 平台通过 Replaykit 采集手机屏幕画面、App 音频、麦克风音频,并通过 SDK 共享出去时,可以分别调节 App 音频的音量和麦克风音频的音量。以实现在不同场景下,灵活选择突出主播人声或 App 声音。该功能常用于游戏直播场景。

开始预览或推流成功后,可以通过 [setReplayKitMicrophoneVolume] 接口设置麦克风采集的音频音量,通过 [setReplayKitApplicationVolume] 接口设置 App 采集的音频音量,两者的音量取值范围都为 0 ~ 200,默认值为 100。

相关 API 请参考 setReplayKitMicrophoneVolume, setReplayKitApplicationVolume

6. 支持 arm64 Simulator

从此版本开始支持交付 arm64 模拟器架构,以方便开发者在搭载 Apple Silicon 的 Mac 上使用 iOS 模拟器来开发和调试。

改进优化

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. 优化了耳返功能

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

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

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

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

相关 API 请参考 ZegoMediaPlayer > loadResource

问题修复

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

2. 修复了 SDK 和 CallKit 冲突的问题

3. 修复了 iOS 偶现播放没有声音的问题



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.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. 修复了上传日志耗时久的问题

废弃删除

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. 修复了 iOS 重复设置 view,导致画面闪烁的问题

4. 修复了 iOS 快速切换前后摄像头时,画面异常的问题

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

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

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

废弃删除

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. SDK iOS 平台最低支持版本号从 8.0 上调至 9.0

2. 自 2.1.0 版本开始,交付产物为 [普通 Framework] + [XCFramework],从这个版本开始改为仅交付 [XCFramework]。

问题修复

1. 修复了 iOS 同时 [createEngine] 和 [createMediaPlayer] 的过程中可能导致的死锁的问题

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

3. 修复了在使用自定义视频渲染过程中,[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.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.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. 修复了可能无法删除推流水印的问题

相关 API 请参考 setPublishWaterma

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

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

相关 API 请参考 sendCustomAudioCaptureAACData, sendCustomAudioCapturePCMData

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

相关 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. 修复高频反复调用 [startPlayingStream], [stopPlayingStream] 时可能出现的崩溃问题



2.1.0 版本

发布日期:2021.01.14

新增功能

1. 新增支持交付 XCFramework 产物,适配 Xcode 12.3

请从开发者中心 下载 SDK 包 选择下载 XCFramework。

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

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

相关 API 请参考 setPlayStreamBufferIntervalRange

问题修复

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] 回调触发时,内部对象已被重置引发的崩溃问题。

废弃删除

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

本篇目录