发布日期:2022.05.11
新增功能
直推 CDN 时,在不改变推流方式的情况下,SDK 从客户的 CDN 源站拉流,通过 L3 将音视频内容分发给观众,通过 [ZegoResourceType] 控制源站资源。该功能常用于直播场景。
相关 API 请参考 startPlayingStream
注意:目前只支持 RTC 场景,直推 CDN 和转推 CDN 场景下无效。
从 2.19.0 版本开始,支持在音视频场景下将 SEI(媒体补充增强信息)与音频帧同步发送。该功能常用于 SEI 与音频强相关的视频场景,例如实时 KTV。
在 2.19.0 之前版本中,SEI 数据是跟随视频帧数据一起发送,一般情况下视频帧率远低于音频帧率,导致混流对齐、伴奏对齐场景下等 SEI 精度/频率不足。
相关 API 请参考 onPlayerRecvAudioSideInfo, sendAudioSideInfo
改进优化
问题修复
发布日期:2022.04.13
问题修复
发布日期:2022.04.09
新增功能
注意:AI 降噪目前会对麦克风采集的音乐有较大损伤,包括人通过麦克风唱歌的声音。如需使用该功能,请联系 ZEGO 技术支持。
AI 降噪指的是 SDK 会对麦克风采集的声音进行降噪处理,在原有的稳态噪声正常处理的情况下,还会处理非稳态噪声,主要包括鼠标、键盘声、敲击、空调、厨房碗碟、嘈杂餐厅、环境风声、咳嗽、吹气 等非人声噪声。通过 [setANSMode] 接口中的 “ZegoANSMode” 参数设置 AI 降噪模式,并且可以实时调整降噪模式,详情请参考 AI 降噪。
该功能常用于通话、会议等没有背景音乐的场景,例如普通音质语聊房、语音会议、语音开黑、一对一视频通话。
相关 API 请参考 setANSMode
开始播放音效后, 调用 [SetPlaySpeed] 接口可以对音效设置四种播放速度(会同时设置本地播放速度和推流速度),分别为 0.5 倍速、原始速度、1.5 倍速和 2 倍速,默认为原始速度。
QUIC 协议推拉流主要用于改善弱网环境下 CDN 直播质量不稳定的情况,但是改善有限,推荐使用低延时直播,享受高质量且低延时的直播服务。当前支持使用腾讯、网宿两家 CDN 直播产品的 QUIC 协议推流及拉流。
通过 [enablePublishDirectToCDN] 接口中的 “ZegoCDNConfig” 参数配置推流协议和 QUIC 版本,若想进行 QUIC 协议的自定义 CDN 拉流,需要通过 [startPlayingStream] 中的 “ZegoPlayerConfig“ 参数配置拉流协议和 QUIC 版本。
相关 API 请参考 enablePublishDirectToCDN
发起推流后,可以通过 [onPublisherStreamEvent] 回调实时监听推流状态,该回调会返回当前使用的推流地址、资源类型和协议相关信息。
发起拉流后,可以通过 [onPlayerStreamEvent] 回调实时监听拉流状态,该回调会返回当前使用的拉流地址、资源类型和协议相关信息。
相关 API 请参考 onPublisherStreamEvent, onPlayerStreamEvent
调用 startMixerTask 开启或更新混流任务,支持通过 “backgroundUrl” 和 “inputVolume” 分别设置混流水印和混流的输入音量。
相关 API 请参考 startMixerTask
[loginRoom] 接口新增 “callback” 参数,支持从 “callback“ 返回登录房间结果。
[logoutRoom] 接口新增 “callback” 参数,支持从 “callback“ 返回退出房间结果。
相关 API 请参考 loginRoom, logoutRoom
当房间的连接状态发生变化时会触发 [onRoomStateChanged] 回调,通过“ZegoRoomStateChangedReason” 参数提供更加详细的连接状态及状态变化原因。
相关 API 请参考 onRoomStateChanged
改进优化
调用 startMixerTask 接口,通过 “ZegoFontStyle” 中的 “border” 属性可以设置字体是否有边框,通过 “borderColor” 属性可以设置字体边框颜色。
相关 API 请参考 startMixerTask
新增 1005000 错误码,表示未开通混流服务。出现此错误码时,请在 ZEGO 控制台 自助开通混流服务(开通步骤请参考 项目管理 - 服务配置 中的“混流”),或联系 ZEGO 技术支持开通。
相关 API 请参考 startMixerTask
问题修复
发布日期:2022.03.11
问题修复
发布日期:2022.03.09
新增功能
新增 [setMinVideoFpsForTrafficControl] 和 [setMinVideoResolutionForTrafficControl] 接口,可以用于用户网络不佳且开启了流量控制时,通过调用接口设置最低视频帧率及分辨率,帮助用户综合控制视频的显示效果。
相关 API 请参考 setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl
稳态语音默认检测周期为 3 秒,用户如需修改默认检测周期,可通过 [startAudioVADStableStateMonitor] 接口自定义检测周期参数。
相关 API 请参考 startAudioVADStableStateMonitor
新增枚举 [ZegoRangeAudioModeSecretTeam] 隐秘小队模式。在该模式下,同一房间下的用户,收听者既能与同一小队的人交流,也能听到所有在音频接收范围内且为全世界模式发声者的声音,如太空狼人杀游戏场景。
相关 API 请参考 setRangeAudioMode
注意:该功能仅在开发阶段使用,请勿在线上版本开启此功能。
新增 [enableDebugAssistant] 接口,开发者调用该接口开启调试助手功能,SDK 将会打印日志到控制台,并且在 SDK 其他接口的调用出现异常时,UI 会弹窗提示错误。
相关 API 请参考 enableDebugAssistant
改进优化
2.17.0 及以上版本,在创建引擎时将 AppSign 传空或不传,并且在登录房间时必须传入 Token,鉴权通过后即可使用实时音视频功能,具体请参考 使用 Token 鉴权。
2.17.0 以下版本,在创建引擎时传入 AppSign,鉴权通过后即可使用实时音视频功能。
相关 API 请参考 createEngine
问题修复
发布日期:2022.02.10
问题修复
发布日期:2022.01.26
问题修复
发布日期:2022.01.20
问题修复
发布日期:2022.01.14
新增功能
游戏语音模块新增 [muteUser] 接口,本地用户可以根据需要,在初始化游戏语音 [CreateRangeAudio] 之后,通过 [MuteUser] 接口设置是否接收指定远端用户的音频数据。
该功能常用于游戏场景,例如发声者被墙壁阻挡,则听众不需要接收该声音。
相关 API 请参考 muteUser
[onPlayerQualityUpdate] 回调新增 “mos” 参数,表示对拉流音质的评分。开发者对音频质量比较关注时,可通过该参数了解当前音频的质量情况。
相关 API 请参考 onPlayerQualityUpdate
注意:目前只有特定的视频编码器支持此功能,如需使用,请联系 ZEGO 技术支持。
开发者可以调用 [setCustomVideoCaptureRegionOfInterest] 接口设置指定推流通道自定义视频采集编码器的感兴趣区域(ROI),同样码率情况下,ROI 区域内的画质更加清晰。
该功能常用于远程控制、人脸检测 等场景。
相关 API 请参考 setCustomVideoCaptureRegionOfInterest
注意:如需使用该功能,请联系 ZEGO 技术支持。
为了在弱网环境下让推流端可以推更高画质的视频流,SDK 支持基于 rtmp over quic 协议来推流。
该功能常用于单主播直推 CDN、直播 PK 场景。
注意:如需使用该功能,请联系 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
改进优化
ZEGO 提供了全新的基础美颜功能,为用户呈现出良好的肌肤状态,打造自然的美颜效果。开发者需要在推流前先调用 [startEffectsEnv] 接口初始化美颜环境,然后调用 [enableEffectsBeauty] 接口开启美颜功能。通过 [setEffectsBeautyParam] 接口可以按需调整美白、磨皮、锐化以及红润的程度,实现基础美颜能力。
该功能常用于视频通话、直播等场景。
相关 API 请参考 startEffectsEnv, stopEffectsEnv, enableEffectsBeauty, setEffectsBeautyParam
媒体播放器的 [onVideoFrame] 和 [onVideoFramePixelBuffer] 回调支持返回视频帧对应的时间戳。
调用 [getNetworkTimeInfo] 接口获取同步网络时间信息时,SDK 会定时更新 NTP 时间,减少获取到的 NTP 时间误差。
相关 API 请参考 getNetworkTimeInfo
调用 [createEngine] 创建引擎时,SDK 支持校验 jar 与 so 版本是否一致,如果校验到版本不一致则会抛出 RuntimeException 异常。
相关 API 请参考 createEngine
问题修复
废弃删除
旧的美颜功能较为简单,不太符合开发者的预期,因此在 2.16.0 及以上版本废弃了 [enableBeautify] 接口,请使用 [enableEffectsBeauty] 接口代替;废弃了 [setBeautifyOption] 接口,请使用 [setEffectsBeautyParam] 代替。
相关 API 请参考 enableBeautify, enableEffectsBeauty, setBeautifyOption, setEffectsBeautyParam
发布日期:2021.12.09
新增功能
新增 [setCustomVideoCaptureDeviceState] 接口,在使用自定义视频采集时,开发者可以设置指定通道自定义视频采集的采集设备状态,远端可以通过 [onRemoteCameraStateUpdate] 回调获取推流端的状态变更。该功能常用于秀场直播场景。
相关 API 请参考 setCustomVideoCaptureDeviceState
媒体播放器新增声浪频谱回调和开关接口,可以控制是否开启回调以及回调的频率,从而获取媒体播放器当前的声浪和频谱。在通过媒体播放器播放资源,如一起看电影、游戏语聊房场景时,通过该功能可以做频谱动画的功能,增加趣味性。
创建媒体播放器后,调用 [enableSoundLevelMonitor] 接口可以开启声浪监听,开启后可以通过 [onMediaPlayerSoundLevelUpdate] 回调监听声浪的变化。
创建媒体播放器后,调用 [enableFrequencySpectrumMonitor] 接口可以开启频谱监听,开启后可以通过 [onMediaPlayerFrequencySpectrumUpdate] 回调监听频谱的变化。
相关 API 请参考 enableSoundLevelMonitor, onMediaPlayerSoundLevelUpdate, enableFrequencySpectrumMonitor, onMediaPlayerFrequencySpectrumUpdate
在使用自定义视频采集功能时,调用 [sendSEISyncWithCustomVideo] 接口可以实现在推流传输视频流数据的同时,发送流媒体增强补充信息来同步一些其他附加信息,该信息与当前视频帧同步。该功能常用于需要播放内容与视频帧强同步的场景,比如视频 K 歌,视频跟歌词强同步。
相关 API 请参考 sendSEISyncWithCustomVideo
新增支持全方位虚拟立体声,将单声道的声音,通过算法处理,模拟成立体感的声音。该功能常用于 KTV 场景中,可以使唱歌的声音更加有立体感。
当调用 [enableVirtualStereo] 接口,将 angle 参数设置为 -1 时,表示立体声效果为全方位立体声。
相关 API 请参考 enableVirtualStereo
通过 [onLocalDeviceExceptionOccurred] 回调可以设置要检测的设备类型,如摄像头、扬声器、麦克风等,开发者可以根据不同设备类型的错误回调进行相应的处理。
相关 API 请参考 onLocalDeviceExceptionOccurred
开发者可以通过 Mac Catalyst 框架将 iOS 应用移植到 macOS 上。
改进优化
当自定义视频采集视频帧数据类型 [ZegoVideoBufferType] 为 pixelbuffer 类型时,支持调用 [setCustomVideoCaptureRotation] 接口设置自定义画面旋转角度。
相关 API 请参考 setCustomVideoCaptureRotation
混流输出视频配置 [ZegoMixerOutputVideoConfig] 新增 encodeProfile 和 encodeLatency 参数、分别用于设置混流输出视频编码规格和混流输出视频编码延时。
登录房间导致网络测试停止,由于网络测试会占用带宽,请在登录房间之前进行。
用户登录房间时如果在服务器黑名单中,则会返回此错误码,表示禁止登录房间。
当使用 SDK 拉低延迟直播流时,若您未开通低延迟直播服务,则会返回此错误码。
问题修复
废弃删除
为了让开发者直观的了解出现异常的设备类型以及具体的异常情况,在 2.15.0 及以上版本废弃了 [onDeviceError] 回调,请使用 [] 回调代替。
相关 API 请参考 onLocalDeviceExceptionOccurred。
发布日期:2021.11.16
新增功能
开发者在需要做远程控制、云游戏等指令分发时,通过实时信令,可以低延迟获取发布端消息。
相关 API 请参考 createRealTimeSequentialDataManager
注意:如需使用该功能,请联系 ZEGO 技术支持。
支持通过版权音乐功能,获取版权歌曲或伴奏资源,并结合媒体播放器进行本地播放控制。可以用于在线 KTV 、语聊房等合唱或使用背景音乐的场景。
新增 H.265 解码性能不足的告警回调,在通过 CDN 拉流的场景下,用于提示用户是否做降级处理。如果开发者在拉 H.265 流的过程中收到低帧率回调 [onPlayerLowFpsWarning],建议开发者停止拉 H.265 流,转拉 H.264 流。
推流状态回调 [onPublisherStateUpdate] 和拉流状态回调 [onPlayerStateUpdate] 中新增了 H.265 编解码错误提示。
相关 API 请参考 onPlayerLowFpsWarning, onPublisherStateUpdate, onPlayerStateUpdate
注意:如需使用该功能,请联系 ZEGO 技术支持。
允许开发者自定义监听音频和视频帧到达的回调通知,包括音频首帧到达回调、视频首帧到达回调、视频首帧渲染回调。
相关 API 请参考 callExperimentalAPI
媒体播放器新增 [loadResourceWithPosition] 接口,支持加载媒体资源时指定开始播放进度,单位为毫秒。
相关 API 请参考 createMediaPlayer > loadResourceWithPosition
注意:仅当自定义视频采集帧数据类型 “bufferType” 设置为 GLTexture2D 时,该功能才有效。
开发者收到 [onStart] 回调后,可以调用 [setCustomVideoCaptureRotation] 接口设置指定推流通道自定义采集画面的顺时针旋转角度。
相关 API 请参考 setCustomVideoCaptureRotation
SDK 支持设置摄像头对焦和曝光模式,常用于鉴宝直播场景,用于放大和对焦一些物体的细节。
在启动本地预览后,可以调用 [isCameraFocusSupported] 接口开启摄像头对焦功能,通过 [setCameraFocusPointInPreview] 和 [setCameraExposurePointInPreview] 接口可以分别设置预览视图中的对焦点和曝光点(每次摄像头重新启动采集,两者的设置都会失效,需要重新设置)。调用 [setCameraFocusMode] 和 [setCameraExposureMode] 接口可以分别设置摄像头对焦模式和曝光模式。
相关 API 请参考 isCameraFocusSupported, setCameraFocusPointInPreview, setCameraFocusMode, setCameraExposureMode, setCameraExposurePointInPreview
该功能常用于 KTV 等需要混流对齐的场景,当拉流端播放时,通过 [setPlayStreamsAlignmentProperty] 接口控制播放的实时音视频流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐;若不需要,则所有流都不对齐。
相关 API 请参考 setPlayStreamsAlignmentProperty
音频设备模式新增 GENERAL3 和 COMMUNICATION4 两种模式。GENERAL3 模式表示关闭系统前处理,始终占用麦克风,全程使用媒体音量。COMMUNICATION4 模式表示开启系统前处理,上麦占用麦克风,下麦释放麦克风,全程使用通话音量。
相关 API 请参考 setEngineConfig
通过该功能可以判断一定时间内是否有人对着麦克风说话,用于检测采集后或音频前处理后的音频数据是人声还是噪声。
相关 API 请参考 startAudioVADStableStateMonitor, stopAudioVADStableStateMonitor, onAudioVADStateUpdate
注意:如需使用该功能,请联系 ZEGO 技术支持。
支持生成 Token 的密钥,实现 ServerSecret 平滑迁移能力。通过后台配置同时启用两个 ServerSecret,当其中一个 ServerSecret 暴露的情况下,可以平滑迁移到另一个 ServerSecret。
注意:如需使用Token 加入黑名单的功能,请联系 ZEGO 技术支持。
Token 支持加入黑名单:为防止旧 Token 释放后攻击新 Token,新增支持将 Token 加入黑名单。Token 黑名单,是指该 Token 在有效期内的 AppID 下无法使用。
Token 支持通过流 ID 鉴权:为防止通过鉴权后,使用相同 Token 推其他的流,新增支持生成绑定流 ID 的 Token。
为确保客户端下麦成功,服务端新增批量禁止 RTC 推流和批量恢复 RTC 推流能力。
调用批量禁止 RTC 推流接口,可以批量禁止指定流 ID 推送到 RTC 服务,禁止推流操作会向正在推流的客户端和正在拉流的客户端发送推流被禁止的通知。调用批量恢复 RTC 推流接口,可批量恢复被禁止推往 RTC 媒体服务的流 ID。
相关 API 请参考 批量禁止 RTC 推流/批量恢复 RTC 推流
改进优化
2.10.0 至 2.13.1 版本的处理逻辑为:1. 自身必须既推流又拉流,才会收到自身的网络质量回调。2. 当拉一条流时,推流端有拉流且推流端在自己所在房间内,才会收到该用户的网络质量。
2.14.0 及以上版本的处理逻辑为:1. 自身只要推流或拉流,就会收到自身的网络质量回调。2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。
相关 API 请参考 onNetworkQuality
2.14.0 之前版本默认最大推流通道数量为 2 路,如需支持更多则需要 ZEGO 技术支持特殊编包。为了配合实时信令功能,该版本默认最大推流数新增至 4 路。
相关 API 请参考 startPublishingStream
完成了对全量 API 接口与错误码的注释优化, API 注释中新增了“支持版本”、“详情描述”、“业务场景”、“调用时机”、“使用限制”、“注意事项”等信息,便于开发者更清晰的了解 API 的功能。错误码新增了“可能原因”和“处理建议”,帮助开发者更好的定位和解决问题。
为了降低开发者对环境的理解成本,ZEGO 已统一环境概念,从该版本开始,废弃了测试环境,统一使用正式环境。在 2.14.0 版本之前已接入过 SDK 的开发者,可以参考“测试环境废弃说明(https://doc-zh.zego.im/article/12997)”进行 SDK 升级及代码调整。
相关 API 请参考 createEngine
混流转推地址长度限制由 512 字节扩展到 1024 字节。
废弃删除
为了降低开发者对环境的理解,废弃了掉测试环境,统一使用环境。在 2.14.0 及以上版本废弃了原有的 [createEngine] 接口,请使用不带 “isTestEnv” 参数的同名接口代替。
相关 API 请参考 createEngine
发布日期:2021.10.15
问题修复
发布日期:2021.10.15
新增功能
电音音效指的是可以让人说话、唱歌的声音,经过处理后带有电音的效果。该功能常用于KTV、语聊房场景。
在 [createEngine] 初始化 SDK 之前,调用 [setElectronicEffects] 接口可以开启电音音效,并可根据需要设置不同模式的电音调式以及对应调式的起始音高。未调用此接口时,默认关闭电音音效。
开发者也可以通过 [setVoiceChangerPreset] 接口预设常见的电音音效,目前支持预设 C 大调电音音效、A 小调电音音效、和声小调电音音效。
相关 API 请参考 setElectronicEffects
注意:使用此功能需要升级 SDK 并联系 ZEGO 技术支持配置。
不同的业务场景,对用户登录房间、推流等权限有时效限制,可以通过 Token 来实现。
当 Token 过期后,服务端会主动将用户的权限进行回收,客户端的用户会被踢出房间并停止推流。该机制可以使用户权限管理更安全,常用于 KTV、语聊房场景。
相关 API 请参考 renewToken, onRoomTokenWillExpire
直播使用混流时,可以在混流输出画面上实时更新水印,以达到实时更新混流的时候同步刷新水印。该功能常用于在线教育场景,例如上课时在混流画面上标注每条输入流对应的老师名字或者班级名字。
[ZegoMixerTask] 的混流输入列表 [ZegoMixerInput] 中新增 [label] 字段,可设置混流输入视频画面上的相关文字水印信息,进行混流的每一条流,只支持一个水印。
相关 API 请参考 startMixerTask
在进行混流时,可以对每一条流进行渲染模式的设置。当混流输入流的分辨率比例与对应输入流在混流输出画面上的布局比例不一致时,可以按照不同的业务场景,选择不同的渲染模式。
[ZegoMixerTask] 的混流输入列表 [ZegoMixerInput] 中新增 [renderMode] 字段,可设置混流输入视频画面的渲染模式,支持“填充模式”和“适应模式”。
相关 API 请参考 startMixerTask
iOS 平台通过 Replaykit 采集手机屏幕画面、App 音频、麦克风音频,并通过 SDK 共享出去时,可以分别调节 App 音频的音量和麦克风音频的音量。以实现在不同场景下,灵活选择突出主播人声或 App 声音。该功能常用于游戏直播场景。
开始预览或推流成功后,可以通过 [setReplayKitMicrophoneVolume] 接口设置麦克风采集的音频音量,通过 [setReplayKitApplicationVolume] 接口设置 App 采集的音频音量,两者的音量取值范围都为 0 ~ 200,默认值为 100。
相关 API 请参考 setReplayKitMicrophoneVolume, setReplayKitApplicationVolume
从此版本开始支持交付 arm64 模拟器架构,以方便开发者在搭载 Apple Silicon 的 Mac 上使用 iOS 模拟器来开发和调试。
改进优化
推流端,配置混流时可以指定某些流进行精准对齐。
相关 API 请参考 setStreamAlignmentProperty
调用 [startPublishingStream] 接口且将 [ZegoPublisherConfig] 中的 [forceSynchronousNetworkTime] 值设置为 1,则 SDK 内部会等到 NTP 网络时间同步完成后再推流,此时再调用 [setStreamAlignmentProperty] 接口开启混流精准对齐功能。
相关 API 请参考 startPublishingStream, setStreamAlignmentProperty, onNetworkTimeSynchronized
问题修复
废弃删除
因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessCapturedAudioData] 回调,使用带 timestamp
参数的同名回调代替。
相关 API 请参考 onProcessCapturedAudioData
因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessRemoteAudioData] 回调,使用带 timestamp
参数的同名回调代替。
相关 API 请参考 onProcessRemoteAudioData
因为在回调里增加了 timestamp 采集时间戳,在 2.13.0 及以上版本废弃 [onProcessPlaybackAudioData] 回调,使用带 timestamp
参数的同名回调代替。
相关 API 请参考 onProcessPlaybackAudioData
发布日期:2021.09.09
新增功能
H.265 编解码完整方案上线,适用于单主播直播和多人互动直播场景。开发者可以在编码或混流时输出 H.265 格式的视频码流,H.265 在同等画质下相对于 H.264 节约了 30% 的流量。使用该功能前,需要联系 ZEGO 技术支持开通。
相关 API 请参考 isVideoEncoderSupported, isVideoDecoderSupported, enableH265EncodeFallback, onPublisherVideoEncoderChanged
支持获取和修改混音后将要播放的音频数据。在初始化 SDK 之后,[startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer] 和 [createAudioEffectPlayer] 之前,调用 [enableCustomAudioPlaybackProcessing] 接口可以开启自定义混音后处理功能,通过 [setCustomAudioProcessHandler] 可以设置自定义音频处理回调。
相关 API 请参考 enableCustomAudioPlaybackProcessing, setCustomAudioProcessHandler, onProcessPlaybackAudioData
与远端用户连麦成功后,当远端扬声器设备状态发生变更时,例如开/关扬声器,可以通过 [onRemoteSpeakerStateUpdate] 回调监听。
相关 API 请参考 onRemoteSpeakerStateUpdate
在加载资源完成后,调用 [setPlaySpeed] 接口可以设置媒体播放器的视频播放倍速,支持 0.5 ~ 2.0 倍,默认为 1.0,即正常速度。
相关 API 请参考 ZegoMediaPlayer > setPlaySpeed
使用混流功能时,支持通过 [ZegoMixerInput] 中的 audioDirection 参数设置每路音频流的空间音频效果。
相关 API 请参考 ZegoMixerInput
改进优化
优化了耳返逻辑,使耳返的延迟缩短至 50+ ms。
广播消息和弹幕消息从此版本开始,支持发送长度更大的消息(默认限制为 1 KB),如有需要请联系 ZEGO 技术支持配置。
相关 API 请参考 ZegoMediaPlayer > loadResource
问题修复
发布日期:2021.08.27
新增功能
新增范围语音功能模块,可提供范围语音、3D音效、小队语音等功能。适用于吃鸡类游戏、元宇宙类场景。
范围语音:房间内的收听者对音频的接收距离有范围限制,若发声者与自己的距离超过该范围,则无法听到声音。为保证语音清晰,附近超过 20 人发声时,只能听到离自己最近的 20 个发声者的声音。
3D音效:声音有 3D 空间感且按距离衰减。
小队语音:玩家可以选择加入小队,并支持在房间内自由切换“全世界”模式和“仅小队”模式。
相关 API 请参考 createRangeAudio, destroyRangeAudio, setEventHandler, setAudioReceiveRange, updateSelfPosition, updateAudioSource, enableSpatializer, enableMicrophone, enableSpeaker, setRangeAudioMode, setTeamID
改进优化
发布日期:2021.08.20
问题修复
相关 API 请参考 loginRoom
发布日期:2021.08.10
新增功能
SDK 可以指定房间,由 ZEGO 实时音视频服务器自动将房间内的所有音频流进行混流(目前只支持混音频流),常用于纯语聊场景。该功能相对手动混流降低了开发者接入的复杂程度,不需要管理指定房间音频流的生命周期。
相关 API 请参考 startAutoMixerTask, stopAutoMixerTask
在混流任务对象 [ZegoMixerTask] 中新增 [setBackgroundColor] 用于设置混流背景色。
相关 API 请参考 ZegoMixerTask > setBackgroundColor
开发者在监听声浪回调时,往往只关注人声部分,可调用 [startSoundLevelMonitor] 接口,传入 “ZegoSoundLevelConfig”,开启 VAD 人声检测。SDK 在本地采集声浪回调 [onCapturedSoundLevelInfoUpdate]、远端音频声浪回调 [onRemoteSoundLevelInfoUpdate] 中也新增是否包含人声检测的参数。
相关 API 请参考 startSoundLevelMonitor, onCapturedSoundLevelInfoUpdate, onRemoteSoundLevelInfoUpdate
当开发者已经将播放数据写入内存后,可直接使用媒体播放器进行播放,无需再写成文件进行播放。
相关 API 请参考 ZegoMediaPlayer > loadResourceFromMediaData
开发者可以在开启预览后调用 [setCameraExposureCompensation] 接口设置摄像头曝光补偿数值,取值范围为 [-1, 1],取值越小画面越暗,取值越大画面越亮。
相关 API 请参考 setCameraExposureCompensation
改进优化
在使用多个视频或音频设备时,可以通过 "deviceID" 参数精确分辨出报错的设备,更高效地排查问题。
相关 API 请参考 onDeviceError。
在开发者需要支持超过 12 路拉流时,需要联系 ZEGO 技术支持设置。
问题修复
废弃删除
参数定义不准确,在 2.10.0 及以上版本废弃 [onNetworkQuality] 回调,使用带 ZegoStreamQualityLevel
枚举的同名回调代替。
相关 API 请参考 onNetworkQuality
发布日期:2021.07.13
问题修复
发布日期:2021.07.09
新增功能
关闭摄像头时,支持持续推送 JPEG/JPG、BMP 和 HEIF 格式的静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。
初始化 SDK 后,关闭摄像头之前通过 [setDummyCaptureImagePath] 接口设置所推静态图片的路径,开始正常推流后,调用 [enableCamera] 接口关闭摄像头时会开始推静态图片,调用 [enableCamera] 接口打开摄像头时会结束推静态图片。
相关 API 请参考 setDummyCaptureImagePath
新增本地和远端用户的上下行网络质量回调 [onNetworkQuality],默认每两秒回调一次本地和每个拉取的远端用户的网络状况(包括未知、优秀、良好、中等、较差、网络断线)。当开发者希望分析链路上的网络情况,或想要了解本地和远端用户的网络状况时可以使用该功能。
相关 API 请参考 onNetworkQuality
在进行多端同步行为或耗时统计时,需要网络时间同步。SDK 新增获取 NTP 时间功能,可通过 [getNetworkTimeInfo] 接口获取 NTP 时间戳。使用该功能前请先联系 ZEGO 技术支持。
相关 API 请参考 getNetworkTimeInfo
基于 ZEGO 服务器的 NTP 时间,在混流时自动对齐各路流的播放时间。使用该功能前请先联系 ZEGO 技术支持。
改进优化
同一个用户可以同时加入多个房间,并同时在多个房间内(目前默认最多同时加入 5 个房间)推流、拉流、发送实时消息和接收消息回调。本功能可以隔离多个房间的消息及回调,实现更灵活的连麦业务。ZEGO 推荐用于跨房间连麦和在线教育的超级小班场景。
需要在初始化 SDK 之前,调用 [ZegoRoomMode] 设置多房间模式,然后调用 [loginRoom] 接口登录多房间。
相关 API 请参考 setRoomMode, loginRoom
开发者不需要填写 roomID 就可以调用 [logoutRoom] 接口退出当前所在的房间。若使用了多房间功能,则调用该接口会退出所有房间。
相关 API 请参考 logoutRoom
拉流质量回调中新增 audioCumulativeBreakCount、audioCumulativeBreakTime、audioCumulativeBreakRate 等参数,提供了更多拉流卡顿的细化数据。
相关 API 请参考 onPlayerQualityUpdate
调用 [startNetworkSpeedTest] 接口开启网络测速时,支持设置回调周期(默认 3000 ms)。
相关 API 请参考 startNetworkSpeedTest
问题修复
废弃删除
为了更完善多房间功能,去除旧有主从房间概念,在 2.9.0 及以上版本废弃了 [loginMultiRoom] 接口。若需实现新的多房间功能,请先在引擎初始化之前调用 [setRoomMode] 函数设置多房间模式,再使用 [loginRoom] 登录多房间,如果调用 [loginRoom] 函数登录多房间,请确保传入相同的用户信息。
相关 API 请参考 setRoomMode, loginRoom
发布日期:2021.06.11
新增功能
用户权限控制指的是用户登录房间,或是在房间内进行推/拉流等操作时,ZEGO 服务端根据用户登录时携带的 Token 参数,判断用户是否有对应的权限,避免因权限控制缺失或操作不当引发的风险问题。 目前仅支持用户登录房间和用户房间内推流两个权限的校验。
相关 API 请参考 loginRoom, renewToken, onRoomTokenWillExpire
开放辅路流复制主路流的视频数据能力,通过此能力开发者可以在主路、辅路流用不同协议推相同数据。开发者若需要此能力请联系 ZEGO 技术支持提供试验性 API。
相关 API 请参考 callExperimentalAPI
空间音频能够感知空间内 360° 的声音位置。开发者可以通过空间音频功能在音视频房间内营造更逼真的“座位”效果,用户可以通过空间音频感知声音的来源方向,还原线下场景。适用于语聊房、剧本杀和线上会议等场景。
相关 API 请参考 enablePlayStreamVirtualStereo
改进优化
问题修复
发布日期:2021.04.29
新增功能
ZEGO 通过此 API 提供 RTC 业务中的部分技术预览或特别定制功能,需要获取该功能的使用方法或其详情可咨询 ZEGO 技术支持。
相关 API 请参考 callExperimentalAPI
问题修复
废弃删除
在 2.7.0 及以上版本废弃 [enableAudioDataCallback] 接口,请使用 [startAudioDataObserver] 接口代替。
相关 API 请参考 startAudioDataObserver
发布日期:2021.04.15
新增功能
在混流时,开发者通过设定拉流端需要突出的目标流,实现在多人同时说话的嘈杂环境下,突出特定用户的语音。例如在会议场景下,可以保障重点人物发言的声音。在调用 [startMixerTask] 接口开启混流时,首先将传入的 [ZegoMixerAudioConfig] 混流音频配置参数中的 "mixMode" 设置为 "focused",同时在需要突出发言的流中,配置 [ZegoMixerInput] 的 "isAudioFocus" 为 "true",即可指定该流为焦点语音流。
相关 API 请参考 startMixerTask
问题修复
发布日期:2021.04.01
新增功能
开发者可根据实际需要在加载资源前,通过 [setNetWorkResourceMaxCache] 接口设置媒体播放器网络资源的最大缓存时长和最大缓存数据大小(两者不能同时为 0),可通过 [getNetWorkResourceCache] 接口获取当前网络资源缓存队列中缓存数据可播放的时长和大小。
相关 API 请参考 ZegoMediaPlayer > setNetWorkResourceMaxCache, ZegoMediaPlayer > getNetWorkResourceCache
当网络状态较差且媒体播放器将缓存的网络资源都播放完时,就会停止播放。只有当缓存的网络资源大于 SDK 设置的阈值时(默认值为 5000 ms,有效值为大于等于 1000 ms),媒体播放器才会在原来暂停的位置自动恢复播放。
相关 API 请参考 ZegoMediaPlayer > setNetWorkBufferThreshold
发布日期:2021.03.18
新增功能
对媒体播放器当前播放的画面进行截图。
相关 API 请参考 ZegoMediaPlayer > takeSnapshot
可根据需要设置和获取音频编码类型、码率,音频声道的组合值。
相关 API 请参考 setAudioConfig, getAudioConfig
当通过 [enableTrafficControl] 接口开启了指定推流通道的流量控制后,可通过 [setTrafficControlFocusOn] 接口控制是否因为远端网络状况差而启动流量控制。
相关 API 请参考 setTrafficControlFocusOn
第一帧视频数据被渲染完之后会收到此回调。
相关 API 请参考 onPublisherRenderVideoFirstFrame
相关 API 请参考 ZegoMediaPlayer > enableAccurateSeek
当拉流时需要一次性关闭所有远端用户的音频或视频流时,可通过该功能实现。
相关 API 请参考 muteAllPlayStreamAudio, muteAllPlayStreamVideo
改进优化
问题修复
发布日期:2021.03.05
问题修复
发布日期:2021.03.04
新增功能
当开发者需要自定义日志文件大小和路径时,可调用 [setLogConfig] 接口来完成配置,且必须在调用 [createEngine] 之前设置才能生效。若在 [createEngine] 之后设置,则在 [destroyEngine] 后的下一次 [createEngine] 时生效。一旦调用了 [setLogConfig] 接口,在 [destroyEngine] 之前,即 engine 的整个生命周期里,旧的通过 [setEngineConfig] 设置日志大小和路径的方式将无效。建议一旦使用该接口,就始终只通过其完成设置日志路径和大小的需求。
相关 API 请参考 setLogConfig
设置 [setApiCalledCallback] 后,可以通过 [onApiCalledResult] 回调获取到 ZEGO SDK 方法执行结果的详细信息。
相关 API 请参考 setApiCalledCallback
当推流方通过 [setVideoConfig] 设置了 “codecID” 为 “SVC” 时(在拉流前后均可设置),拉流方可以动态设置选用不同的流类型(小分辨率为标准图层的二分之一)。 在网络较弱或者渲染的 UI 窗体较小的情况下,可以选择使用拉取小分辨率的视频来达到节省带宽的目的。
相关 API 请参考 setPlayStreamVideoType
通过 [setAudioRouteToSpeaker] 可以设置音频路由到扬声器,当选择不使用内置扬声器播放声音时,即设为 “false” 时,SDK 会根据系统调度选择当前优先级最高的音频输出设备播放声音。
相关 API 请参考 setAudioRouteToSpeaker
本端用户可控制所有音频流的播放音量。
相关 API 请参考 setAllPlayStreamVolume
在推拉流之前通过网络探测定位一些可能存在的网络问题。
相关 API 请参考 startNetworkProbe, stopNetworkProbe
改进优化
问题修复
废弃删除
因为定义了更通用更利于理解的的视图类型参数,在 2.3.0 及以上版本废弃 [setPlayStreamVideoLayer] 接口, 使用 [setPlayStreamVideoType] 接口代替。
相关 API 请参考 setPlayStreamVideoType
相关 API 请参考 setLogConfig
通过设置 "advancedConfig" 的 "key" 为 "language","value" 为 "chinese" 或者 "english" 来切换中英文。通过设置 “key” 为 “set_verbose”,“value” 为 “true” 或 “false” 来开关控制台打印功能。
相关 API 请参考 setEngineConfig
因为命名规范问题,在 2.3.0 及以上版本废弃 [setBuiltInSpeakerOn] 接口,请使用 [setAudioRouteToSpeaker] 来实现原来的功能。
相关 API 请参考 setAudioRouteToSpeaker
发布日期:2021.02.04
问题修复
相关 API 请参考 setPublishWaterma
相关 API 请参考 sendCustomAudioCaptureAACData, sendCustomAudioCapturePCMData
相关 API 请参考 onRemoteVideoFrameEncodedData
发布日期:2021.01.28
新增功能
当开发者需要对采集视频进行前处理,如使用第三方美颜 SDK 时,则可以使用自定义视频前处理功能,很方便地对接视频前处理操作。相比于自定义视频采集功能,此功能无需开发者管理设备输入源,仅需对 SDK 抛出来的原始数据进行操作,然后发回 SDK 侧即可。
相关 API 请参考 enableCustomVideoProcessing
多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID (当用户收到 [onRoomStateUpdate] 回调时,可通过回调中的 [extendedData] 参数获取 RoomSessionID),标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。
相关 API 请参考 onRoomStateUpdate
使用媒体播放器播放媒体文件,当媒体播放器解析到媒体文件中含有 SEI 时,将触发 [onMediaPlayerRecvSEI] 回调。
相关 API 请参考 ZegoMediaPlayer > onMediaPlayerRecvSEI
“[ZegoMixerTask] 中添加 [advancedConfig] 以支持混流高级配置。如需使用,请联系 ZEGO 技术支持。”
相关 API 请参考 startMixerTask
新增棱镜相关质量上报,方便开发者及时发现问题、定位问题、解决问题,更好、更全面地提升用户体验。
改进优化
发布日期:2021.01.21
问题修复
发布日期:2021.01.14
新增功能
请从开发者中心 下载 SDK 包 选择下载 XCFramework。
该功能用于指定播放缓存自适应调整的区间范围,开发者可根据场景进行设置。
相关 API 请参考 setPlayStreamBufferIntervalRange
问题修复
发布日期:2021.01.07
问题修复
发布日期:2020.12.31
新增功能
低延迟直播专注于提供稳定可靠的直播服务,相比于标准视频直播产品,音画延迟更低,同步性更强,弱网抗性更好,能为用户带来毫秒级的直播体验。通常用于教育大班课、秀场直播、电商直播、一起看、在线拍卖等场景。详情请参考:低延迟直播。
相关 API 请参考 startPlayingStream
新增对 H.265 编码的支持,在同等分辨率、帧率的情况下可以降低码率。
相关 API 请参考 setVideoConfig
问题修复
废弃删除
旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频采集] 之后,Express SDK 新增了独立的 [enableCustomVideoCapture] 接口用于设置自定义视频采集,详情请参考 接口变更说明。
相关 API 请参考 enableCustomVideoCapture
旧接口跟随了 [setEngineConfig] 接口的生命周期,不够灵活。在允许了引擎启动前设置 [自定义视频渲染] 之后,Express SDK 新增了独立的 [enableCustomVideoRender] 接口用于设置自定义视频渲染,详情请参考 接口变更说明。
相关 API 请参考 enableCustomVideoRender
新增了一个带 [callback] 参数的销毁引擎接口,若开发者有切换多个音视频 SDK 的需求,则可以通过收到回调时认为 ZEGO SDK 对设备硬件资源的占用已释放完成。若无监听必要,对 [callback] 参数传 null 即可,详情请参考 接口变更说明。
相关 API 请参考 destroyEngine
旧回调命名与实际功能不符,因此删除改名,详情请参考 接口变更说明。
相关 API 请参考 onPlaybackAudioData
旧接口命名风格和语义不清晰,[muteSpeaker] 使用 Speaker 的定义与 Microphone 对应,详情请参考 接口变更说明。
相关 API 请参考 muteSpeaker
媒体播放器的生命周期跟随引擎,故变更为 ZegoExpressEngine 类的同名实例方法,详情请参考 接口变更说明。
相关 API 请参考 createMediaPlayer
引擎提供了分别获取播放器推流音量和本地播放音量的功能,故废弃原来的统一获取接口,详情请参考 接口变更说明。
相关 API 请参考 ZegoMediaPlayer > setPublishVolume, ZegoMediaPlayer > getPublishVolume, ZegoMediaPlayer > setPlayVolume, ZegoMediaPlayer > getPlayVolume
联系我们
文档反馈