注意:升级后开发者需进行兼容性测试,防止出现不兼容等问题。如需使用旧版本,请联系 ZEGO 技术支持。
为修复已知问题,Express SDK 升级 NDK 依赖至 NDK r25c。
注意:
为更符合隐私规范,删除 AndroidManifest.xml 文件中声明的屏幕共享默认权限,需开发者主动声明:
FOREGROUND_SERVICE
权限声明。FOREGROUND_SERVICE
及 FOREGROUND_SERVICE_MEDIA_PROJECTION
权限声明。详情请参考 屏幕共享 文档。
为确保 Express SDK 在 Android 15 系统上的性能和兼容性,已适配 Android 15 的 16KB 内存分页大小。
相关 API 请参考 setVoiceChangerParam
注意:
视频分辨率高于设备支持上限会引入额外损伤,导致视频质量下降。因此视频超分辨率能力新增 1.33 倍和 1.5 倍的放大倍数,以适配不同设备的最佳效果,更多内容请参考 超分辨率。
注意:如需使用该功能,请联系 ZEGO 技术支持。
在 10ms 延迟下,依然保持纯净的降噪效果以及高保真的人声音质,适用于游戏语音、游戏开黑、实时合唱等对延迟较为敏感的场景,目前 AI 降噪已支持均衡模式、低延迟模式以及轻量模式,详情请参考 场景化 AI 降噪。
相关 API 请参考:setNoiseSuppressMode
媒体播放器的播放速度区间从 [0.5,4.0],扩大为 [0.3,4.0],更多内容请参考 媒体播放器。
相关 API 请参考:setPlaySpeed
注意:若某条流设置为允许审核,如果开发者没有发起审核任务,这条流也不会被送审。
当调用审核接口时,默认可以 会对房间内的所有流进行审核。如果开发者要控制某条流不可以被送审,可以在调用 [startPublishingWithParams] 接口开始推流时,将送审标识 [censorFlag] 参数设置为 1(不允许)。
相关 API 请参考 startPublishingWithParams,ZegoPublishStreamParams > censorFlag
注意:如需使用该功能,请联系 ZEGO 技术支持。
支持耳返的声音数据,可以从扬声器中播放。
优化 AI 场景化降噪中,“均衡模式”的降噪效果,在性能不变的情况下,人声清晰度、平稳度进一步提升,且噪音抑制更干净,详情请参考 场景化 AI 降噪。
优化视频硬编解码,增加更多机型兼容适配的范围,同时优化高分辨率、高帧率下的编解码表现。
注意:如需使用该功能,请联系 ZEGO 技术支持。
[ZegoVoiceChangerType] 新增 “汽车人”、“没电了” 两种变声效果的枚举值,丰富变声效果。
相关 API 请参考 setVoicePreset
相关 API 请参考 enableViewMirror
AI 变声功能对运行设备的性能有一定要求,开发者可以提前判断设备能否支持运行 AI 变声功能。
注意:外部采集功能和视频前处理功能不能同时使用,否则可能会出现拉流画面异常。
支持在开启外部采集功能后,分别通过 setLowlightEnhancement 和 enableColorEnhancement 接口,开启低照度增强和色彩增强,对采集画面进行调整,以满足业务需要。
相关 API 请参考 setLowlightEnhancement、enableColorEnhancement
注意:如需使用该功能,请联系 ZEGO 技术支持。
房间内有用户不支持 H.265 格式时,支持推流端回退到 H.264 格式重新推流。
优化色彩增强算法,在画面色彩饱和度较高的场景下,相较之前的版本表现更佳。
注意:如需使用该功能,请联系 ZEGO 技术支持。
注意:
支持版权音乐功能插件化,当开发者的业务场景仅需更新版权音乐相关的代码时,可以单独集成插件包,无需更新 Liveroom SDK,即可平滑迁移。
注意:如需使用该功能,请联系 ZEGO 技术支持。
支持对转推到 CDN 的音视频流补静音帧,可以用于避免因时间戳不同步、造成的卡顿或音画不同步等问题发生。
针对各种摄像头等设备采集到的画面色彩偏灰、或饱和度偏低的情况,支持在保护人体肤色的同时,增强画面色彩,使其更加鲜艳明亮,更符合人眼真实的视觉感受,详情请参考 推流视频增强。
相关 API 请参考 enableColorEnhancement
注意:该功能仅支持截图的前处理,不支持其他处理(如旋转、水印等)。
当采集设备输出的视频格式为 MJPEG 时,默认开启硬件解码加速能力,防止出现因设备性能不足而导致的帧率不足等问题。
该功能主要适用于在 4K 分辨率的采集设备上使用。
注意:
自动混流接口支持设置水位,控制混流服务器拉流缓存的自适应调整的区间范围下限,以便在“混流耗时”和“推流端不稳定导致的画面卡顿”之间保持平衡。该功能设置后,仅对新的输入流生效,对于已经开始混流的输入流不生效。
例如实时合唱 KTV 场景中,推流端网络轻微波动可能会导致混流卡顿,此时观众观看时也会有较高概率出现卡顿。通过调节水位下限,可以优化观众端卡顿问题,但会增大延迟。
相关 API 请参考 ZegoAutoMixStreamConfig.minPlayStreamBufferLength
新增支持将直播流作为输入流,进行混流处理;直播输入流的 URL 支持 RTMP 和 HTTP-FLV 两种协议。该功能适用于将主播连麦的RTC 画面流与云端体育直播流、游戏直播画面流等进行混合,实现游戏或体育直播解说的场景中。
音效播放器支持分别设置推流音量、本地播放音量,保证本端和远端的音量大小都处于合适的区间。
相关 API 请参考 ZegoAudioPlayer.setPublishVolume、ZegoAudioPlayer.setPlayVolume、ZegoAudioPlayer.setPublishVolumeAll、ZegoAudioPlayer.setPlayVolumeAll
优化服务端混流及单流转码能力,提高编码效率,同等码率下提升 5% 以上的主客观画质。
用户在 A 设备上登录成功后,A 设备断网;然后使用同一 userID 在 B 设备上登录成功。此时如果 A 设备网络恢复,重连会失败,并抛出 62050013 错误码,提示该 userID 已在其他设备登录。
注意:
新增 AI 变声功能,实时通话中的“柯南变声领结”,完美重现目标角色的音色与韵律,同时保留用户的语速、情感、语调,随心所欲切换音色,超低延迟让用户畅享社交语聊、直播、游戏语音等场景,详情请参考 AI 变声。
注意:
使用主体分割功能时,虚拟背景支持使用视频素材,视频素材的最终帧率会与编码帧率保持一致,且循环播放。视频素材的限制说明,请参考 主体分割。
相关 API 请参考 enableVideoObjectSegmentation
注意:由于音频 Dump 文件属于用户的隐私敏感数据,因此开发者实现该能力时,请务必认真阅读 《即构隐私政策》 中关于 “使用音频 Dump 功能” 的内容。此外,在收集音频 Dump 文件时,请在获得用户授权同意时,同步注明 LiveRoom SDK 收集目的。
支持将处理前后的音频数据保存下来并上传,用于定位音频相关问题、提高问题排查效率、缩短接入时间,详情请参考 如何获取、上传音频的 Dump 文件?。
相关 API 请参考 startDumpData、stopDumpData、uploadDumpdata、removeDumpData、setDumpDataCallback、onRequestDumpData、onStartDumpData、onStopDumpData、onUploadDumpData
支持提取、编码和传输开发者自定义采集的 RGBA 通道中的 Alpha 通道数据,从而在拉流端渲染出透明背景的主体,实现更加沉浸、真实的视频场景。
相关 API 请参考 enableAlphaChannelVideoEncoder
在低照度增强的自动模式下,亮度的动态调整将更加流畅平滑,提升用户视觉体验。
优化网络测速的期望推、拉流码率上限,提升至 15M。开发者可以在推拉流前,检查音视频质量与当前网络的匹配程度,以保证通话质量稳定。
相关 API 请参考 startUplinkSpeedTest、startDownlinkSpeedTest
注意:播放过程中,如果修改了媒体流类型,会在下一次播放时生效。
使用媒体播放器播放音视频文件时,支持通过 setPlayMediaStreamType 接口,设置为“仅播放音频” 或“仅播放视频”,不消耗音视频解码性能。
相关 API 请参考 setPlayMediaStreamType
注意:该功能需要在调用 [initSDK] 接口初始化 SDK 之前设置。
支持分离“耳返数据”和“上行音频数据”,可用于 KTV 实时合唱“耳返数据”和“推流数据”内容不一致的场景中。
相关 API 请参考 setConfig
注意:
RTC 拉流时,支持通过预设的转码模板触发单流转码任务,输出不同分辨率的转码流,详情请参考 单流转码。
该功能可用于直播等场景中,观众可以基于网络质量、终端设备等,选择不同分辨率的流进行观看,确保播放的流畅性。
注意:当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。
支持均衡型 AI 降噪模式,与原有模式相比,在相同的人声保真效果前提下,噪音抑制效果明显提升,可以达到干净无噪音或不扰人的程度;但性能消耗稍微增加。适用于街道、马路、市场等较为嘈杂(信噪比低)的户外环境中,详情请参考 场景化 AI 降噪。
注意:如需使用该功能,请联系 ZEGO 技术支持。
开发者设置“智能云代理”模式后,在 RTC 或 L3 拉流时,会优先使用直连网络模式进行尝试。如果直连网络不可用、且当前是蜂窝网络,则继续留在直连模式重试;如果直连网络不可用、且当前是非蜂窝网络,则切到云代理模式,详情请参考 云代理。
注意:如需使用该功能,请联系 ZEGO 技术支持。
新增支持抛出编码和硬件解码的低帧率告警回调,在 1v1 聊天、直播等场景中,开发者可基于该回调,实现调整推流分辨率、触发转码等操作。
相关 API 请参考 onVideoEncoderError、onVideoDecoderError
在辅路推流时,支持通过 onTrafficControlCallback 回调流控信息。
相关 API 请参考 onTrafficControlCallback
注意:
在指定编码格式为 “大小流编码” 的情况下,支持分别设置大流和小流的分辨率、帧率和码率,详情请参考 视频大小流和分层编码。
相关 API 请参考 setVideoCodecId, setPublishDualStreamConfig
游戏语音场景中,支持设置 3D 音效距离的衰减范围区间 [min, max]。距离小于 min 时,音量不会随着距离的增加而衰减;距离大于 max 时,将无法听到对方的声音。
相关 API 请参考 setAudioRecvRange
注意:如需使用该功能,请联系 ZEGO 技术支持。
通过设置 SDK 的云代理接口,将 SDK 对应的所有流量通过云端的代理服务器进行中转,实现与 RTC 通信,详情请参考 云代理。
相关 API 请参考 setCloudProxyConfig
相关 API 请参考 onNetworkQuality
相关 API 请参考 uploadLog
注意:当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。
在实景或绿幕场景中,开发者可以通过该功能对用户的背景进行虚化模糊处理,或替换为自定义图片背景,详情请参考 主体分割。
该功能可用于视频会议、1v1 音视频通话等场景中,帮助用户更好的保护个人隐私,以及提升通话的趣味性。
相关 API 请参考 enableVideoObjectSegmentation
媒体播放器倍速的上限提升到 4 倍速。例如,用户在播放音视频文件时,如果已设置为 2 倍速播放,长按屏幕时可以加速至 4 倍速。
相关 API 请参考 setPlaySpeed
为了方便开发者使用屏幕共享功能,从 6.22.0 版本开始,在本地下载的 SDK 中提供了 AAR 包,并在 Maven 在线集成方式的 AAR 包中携带了屏幕共享的 Service 声明,开发者无需手动在自己工程中声明,详情请参考 屏幕共享。
注意: 当前官网 SDK 不包含此功能,如有需要,请联系 ZEGO 技术支持特殊编包。
当麦克风与人体区域存在部分重叠时,可以保留重叠区域的麦克风形状,以维持完整的人体区域形状。
相关 API 请参考 enableVideoObjectSegmentation
注意:如需使用该功能,请联系 ZEGO 技术支持。
使用外部采集功能时,支持通过实验性 API 接口主动偏移 NTP 时间戳。该功能可用于 KTV 的合唱、伴奏、歌词对齐等场景。
多房间模式下,支持通过 switchRoom 接口,快速便捷地实现切换房间的功能。
相关 API 请参考 switchRoom
注意:
支持开发者通过 onReferenceAudioFrame 回调接口,输入需要消除的声音(即参考信号),直接消除。
该功能可用于自定义采集渲染场景中。例如:用户外放背景音乐,同时上麦进行发言,其中背景音乐不是使用自定义渲染或外部渲染的声音,可通过该功能消除推流中包含的背景音乐回声。
相关 API 请参考 onReferenceAudioFrame
注意:如需使用该功能,请联系 ZEGO 技术支持。
针对华为机型设备,SDK 支持通过相关配置,降低 80% 的视频硬解耗时时长。
注意:
将音视频及信令数据访问限定在某一区域,用以满足地区数据隐私安全相关法规,即限定用户访问某一特定区域的音视频服务,详情请参考 地理围栏。
相关 API 请参考 setGeoFence
状态同步及万人范围音视频功能支持通过流 ID 主动拉流或自定义拉流。该功能可实现无论距离多远都保持拉流的玩法,适用于虚拟世界中存在大屏或主持人时,虚拟世界中任何一个地方的观众都可以通过拉流得到大屏或者主持人声音的场景。
相关 API 请参考 setAlignedAudioAuxDataCallback,enableAlignedAudioAuxData
针对在线播放器的版权音乐保护,媒体播放器支持边下载边回调未解密的二进制数据,由开发者解密后再传回媒体播放器播放,过程中不会产生文件或缓存文件。
相关 API 请参考 setBlockDataCallback
注意:
相关 API 请参考 enableVideoObjectSegmentation
支持动态开关流量控制功能,同时支持设置流量控制属性等。
相关 API 请参考 enableTrafficControl, setMinVideoBitrateForTrafficControl, setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl
PIXEL_BUFFER_TYPE_SURFACE_TEXTURE
采集数据类型删除 SDK 内部一些没必要的内存申请,优化 SDK 内存使用率,相比上个版本,内存使用率减少了 10% 左右。
在外放场景中,设备的麦克风与扬声器过近,容易导致人声模糊或沉闷。在该场景下,人声增强可以有效提升人声清晰度并改善沉闷感,因此在外放场景下,建议开启该功能。
为实现外放场景下的人声增强效果,可开启人声增强音效并设置增强等级,增强等级推荐配置为 4,可用于 KTV 外放场景下,精细控制人声效果。
相关 API 请参考 enableSpeechEnhance
注意:如需使用该功能,请联系 ZEGO 技术支持。
在自定义音频采集和 SDK 内部渲染模式下,支持混音自适应对齐和 AEC 功能,可使在实现 KTV 场景下的合唱时,达到更好的效果。
相关 API 请参考 getMetaDataValue
相关 API 请参考 startAudioRecord,stopAudioRecord
注意:通过 CDN 拉取转码流时,必须使用转推 CDN。如需使用该功能,请联系 ZEGO 技术支持。
单流转码,指在云端把每条原始流转换为不同编码格式、不同分辨率的转码流。拉流时传入转码模板 ID 拉取转码流。在直播等场景中,观众可以基于接入网络质量、终端设备等,自行选择不同分辨率的流进行观看,以保证播放的流畅性。
在混流功能支持将白板中的操作内容转成实时视频,且支持设置白板配置信息,例如,设置白板 ID、白板宽高比、是否支持加载动态 PPT 等。
相关 API 请参考 mixStreamEx
注意:enableVideoSuperResolution 修改了调用时机,需要在 initVideoSuperResolution 后才能调用,详情请参考 超分辨率。
相关 API 请参考 enableVideoSuperResolution,initVideoSuperResolution
注意:enableVideoSuperResolution 修改了调用时机,需要在 initVideoSuperResolution 后才能调用,详情请参考 超分辨率。
相关 API 请参考 initVideoSuperResolution,uninitVideoSuperResolution,enableVideoSuperResolution
通过视频大小流编码(H.264 DualStream)对视频进行码流分层时,相比较于分层视频编码(H.264 SVC),视频大小流编码(H.264 DualStream)支持使用硬件编码,即 ZegoVideoCodecAvc
新增 VIDEO_CODEC_H264_DUAL_STREAM
字段,详情请参考 设置视频编码方式。
相关 API 请参考 VIDEO_CODEC_H264_DUAL_STREAM
注意:本功能为内测功能,如需接入体验,请联系 ZEGO 商务人员。
注意:自定义信令配置默认大小为 1KB,如需扩展到 4KB,请联系 ZEGO 技术支持进行处理。
ZEGO 自研调度系统针对网络质量极差地区进行了深度优化。
Logout
信令可能失败的问题注意:如需使用该功能,请联系 ZEGO 技术支持。
新增 [enableVideoSuperResolution] 接口支持对某一条视频流进行超分辨率处理,从而得到更好的画质。超分辨率,简称超分,是在客户端对拉取的视频流的宽和高实时倍增处理的技术,例如,从 360p 超分为 720p,详情请参考 超分辨率 文档。
相关 API 请参考 enableVideoSuperResolution ,onPlayVideoSuperResolutionUpdate
注意:如需使用该功能,请联系 ZEGO 技术支持。
场景化 AI 降噪功能,在之前针对所有非人声进行降噪的基础上,新增支持在音乐场景下的降噪能力,通过识别音乐,智能调整降噪效果还原音乐音质。实时对 mic 输入内容进行音乐检测,在声卡、弹唱或近场音乐场景下,自动调整降噪等级,保证音乐的高保真音质,详情请参考 场景化 AI 降噪 文档。
SDK 支持获取当前设备指定视频编解码器的编解码模式的支持情况,从而更好的帮助开发者选择使用的编码器及编码模式并获得更好的效果。
相关 API 请参考 isVideoEncoderSupported, isVideoDecoderSupported
注意:需在开始播放前调用 [setAudioTrackMode] ,且开启该模式会增加对硬件设备的资源消耗。
当开发者希望指定特定的音轨进行推流时,则可通过 [setAudioTrackMode] 设置媒体播放器的播放模式为多音轨模式,并通过 [setAudioPublishStream] 设置对应播放器需要推流的音轨。
相关 API 请参考 setAudioTrackMode, setAudioPublishStream
注意:如需使用该功能,请联系 ZEGO 技术支持。
注意:如需关闭该功能,请联系 ZEGO 技术支持。
在 App 有获取地理位置权限的情况下,开发者可以选择是否允许 ZEGO SDK 获取系统缓存的 GPS 信息,默认进行获取。当开发者希望关闭该功能时,需要联系 ZEGO 技术支持进行设置。
注意:如需使用该功能,请联系 ZEGO 技术支持。
针对 1v1 通话场景进行了优化,适用在纯 RTC 场景下使用。
对空间音频能力进行了优化,用户可以区分前后音源,从而达到更好的沉浸感。
优化 AGC 自动增益控制算法,当采集音量过大时,不会造成破音情况。
SDK 优化了内部策略,在音视频的场景下,支持最小下行 50 kbps 拉流不卡顿,保障更好的极端弱网下的体验。
由于移动端摄像头具备角度、分辨率、旋转等特性,开发者需要做许多复杂的适配。
当前 SDK 对各种配置进行封装,提供简单的模式选择,包括自定义模式、固定比例模式、自适应模式及对齐模式,可有效降低开发者接入成本。
相关 API 请参考 setAppOrientationMode
注意:如需使用该功能,请联系 ZEGO 技术支持。
华为手机使用系统耳返的情况下,增加混响效果。由于系统的限制,只支持如下三种混响效果:KTV、Theatre(剧院)、Concert(音乐会),默认为 KTV。若选择三种效果之外的混响效果,依然默认为 KTV 效果。
注意:如需使用该功能,请联系 ZEGO 技术支持。
优化超分功能的表现,提升机型覆盖、优化资源占用和推理速度。
若在内网或防火墙场景下,您可以通过代理服务器与公网交互,并通过 setConfig 设置代理服务器地址,保证 ZEGO 音视频云服务正常,目前仅支持 socks5。
相关 API 请参考 setConfig
请注意:
PIXEL_BUFFER_TYPE_ENCODED_FRAME
。相关 API 请参考 supportBufferType
新增 setAudioDeviceMode 接口进行动态修改设备的音频模式,该配置决定设备的音量模式、前处理模式以及 Mic 占用逻辑,您可以根据具体场景进行选择,详情请参考 如何设置音频设备模式 ZegoAudioDeviceMode?
相关 API 请参考 setAudioDeviceMode
当远端用户异常时,onNetworkQuality 每 2s 回调一次质量未知状态(Unknown 状态),当用户该状态持续 8s 后,则认为远端用户已异常断开,此时回调质量极差状态(Die 状态)。
相关 API 请参考 onNetworkQuality
推拉流质量回调会每隔 3s 回调一次质量最差的结果,当周期内出现严重的抖动或丢包时,能够立刻反馈出流质量差。
相关 API 请参考 onPlayQualityUpdate、onPublishQualityUpdate、onNetworkQuality
优化日志上报策略,提高日志上传效率。
AGC 新改进的谐波检测算法存在崩溃问题,现回退至老版本的谐波检测算法。
注意:应在调用 initSDK 接口初始化 SDK 后,再调用 setLowlightEnhancement 接口。
当推流端用户周围环境较暗、或摄像头设置的帧率较高,导致直播画面比较暗,无法正常显示或识别主体的情况下,可调用 setLowlightEnhancement 接口,设置低照度增强,提升视频画面亮度。低照度增强功能包含三种模式:1:不开启低照度增强(默认)、2:开启低照度增强、3:自动开关低照度增强。
开发者可以根据业务场景选择不同的低照度增强模式:当希望自行判断是否需要进行低照度增强时,可以通过切模式 1 和 2 来控制;当希望 SDK 自动增强时,可以使用模式 3,SDK 将自动判断用户所处的光照环境,开启或关闭低照度增强。
相关 API 请参考 setLowlightEnhancement
注意:若希望通过地区、用户等更多维度,从云端控制拉流方式,请联系 ZEGO 技术支持进行相关配置。
拉流接口新增 CDN_PLUS 的拉流资源模式(ZegoResourceType),开发者可按流维度自行开启使用CDN_PLUS 拉流。CDN Plus 拉流是比 CDN 拉流直播质量更高,但是价格接近 CDN 的一种性价比高的拉流方式,详情请参考 CDN Plus 拉流。
相关 API 请参考 startPlayingStream
新增 62050119、62050120、62050121、62050122、62050123、62050124、62050125、62050126、62050127、62050128 等错误码。开启强制登录鉴权后,如果 Token 错误时,会返回这些错误码,详情请参考 常见错误码 中的详细解释和处理建议。
优化了 KTV 实时合唱场景中,人声和伴奏对齐能力。避免当客户端同时推人声和伴奏两条流时,因为设备播放的延迟,导致人声和伴奏不对齐,造成的体验下降。
修复一个 L3 拉流失败的问题
修复 6.12.0 ~ 6.12.2 版本 SDK 采用 L3 拉流时,如果拉到的流是 6.7.0 及之前版本 SDK 推送的流,可能会失败的问题。
注意:当通过 setVideoFPS 设置的帧率小于 enableCamAdaptiveFPS 期望帧率最小值时,将使用 setVideoFPS 设置的帧率值。由于不同的手机厂商的硬件和算法策略不同,该接口在不同的机型或同一机型的前后摄像头上,效果存在一定差异。
当推流端用户设置的帧率较高,而所处环境光照较低无法正常显示或识别主体的情况下,可以调用 enableCamAdaptiveFPS 接口,在一定范围内自动降低帧率来增加曝光时间,从而提升视频画面亮度。该功能常用于直播等对曝光要求较高的场景。enableCamAdaptiveFPS 接口需在初始化引擎之后,启动摄像头前调用。
相关 API 请参考 enableCamAdaptiveFPS
注意:图片格式应为 JPG 和 PNG 格式,否则出现错误码 82000141;图片不得超过 1M,否则出现错误码 82000142。
支持通过 mixStreamEx 接口的 “ZegoMixerImageInfo” 类型参数,为单条输入流的内容设置图片,用于替代视频,即当使用图片时不显示视频。该功能的使用场景为连麦时,视频用户可能需要暂时关闭摄像头而显示其头像图片,或者当视频用户和音频用户连麦,需要显示音频用户的头像图片。
相关 API 请参考 mixStreamEx
注意:如需使用该功能,请联系 ZEGO 技术支持。
开发者发现推流用户违规时,可以调用 activateAllVideoPlayStream 接口暂停拉流用户拉取违规用户的视频流,要求违规用户整改。同时使用本功能,可避免因拉流用户的视频界面依然保留最后一帧导致的违规风险。
注意:如需使用该功能,请联系 ZEGO 技术支持。
提供新的音量增益方式,开发者可以根据实际需求选择合适的音量增益方式。
注意:如需使用该功能,请联系 ZEGO 技术支持开通后台服务。
在调用 startPublishingWithParams 接口开始推流时,开发者可以设置 “censorshipMode” 参数,进行流级别的音视频自动审核,自动鉴别涉黄涉政内容,以此降低开发者的接入难度和业务维护成本。
相关 API 请参考 startPublishingWithParams
直推 CDN 时,在不改变推流方式的情况下,SDK 从客户的 CDN 源站拉流,通过 L3 将音视频内容分发给观众,通过 [ZegoResourceType] 控制源站资源。该功能常用于直播场景。
相关 API 请参考 startPublishing
AI 降噪目前会对麦克风采集的音乐有较大损伤,包括人通过麦克风唱歌的声音。如需使用该功能,请联系 ZEGO 技术支持。
AI 降噪指的是 SDK 会对麦克风采集的声音进行降噪处理,在原有的稳态噪声正常处理的情况下,还会处理非稳态噪声,主要包括鼠标、键盘声、敲击、空调、厨房碗碟、嘈杂餐厅、环境风声、咳嗽、吹气 等非人声噪声。通过 setNoiseSuppressMode 接口中的 “ZegoANSMode” 参数设置 AI 降噪模式,并且可以实时调整降噪模式。
该功能常用于通话、会议等没有背景音乐的场景,例如普通音质语聊房、语音会议、语音开黑、一对一视频通话。
相关 API 请参考 setNoiseSuppressMode
开始播放音效后,调用 setPlaySpeed 接口可以对音效设置四种播放速度(会同时设置本地播放速度和推流速度),分别为 0.5 倍速、原始速度、1.5 倍速和 2 倍速,默认为原始速度。
相关 API 请参考 setPlaySpeed
QUIC 协议推拉流主要用于改善弱网环境下 CDN 直播质量不稳定的情况,但是改善有限,推荐使用低延时直播,享受高质量且低延时的直播服务。当前支持使用腾讯、网宿两家 CDN 直播产品的 QUIC 协议推流及拉流。
通过 setCustomCDNPublishTarget 接口配置推流协议和 QUIC 版本,若想进行 QUIC 协议的自定义 CDN 拉流,需要通过 startPlayingStream 接口中的 “ZegoAPICDNPlayUrlInfo“ 参数配置拉流协议和 QUIC 版本。并且可以通过 onStreamEvent 回调查看当前拉流的协议。
相关 API 请参考 setCustomCDNPublishTarget、onStreamEvent
发起推拉流后,可以通过 onStreamEvent 回调实时监听推拉流状态,该回调会返回当前使用的推流地址、资源类型和协议相关信息。
相关 API 请参考 onStreamEvent
调用 mixStreamEx 接口,通过 “ZegoFontStyle” 中的 “border” 属性可以设置字体是否有边框,通过 “borderColor” 属性可以设置字体边框颜色,可以设置文字水印边框和边框颜色
相关 API 请参考 mixStreamEx
新增 82000157 错误码,表示未开通混流服务。出现此错误码时,请在 ZEGO 控制台 自助开通混流服务(开通步骤请参考 项目管理 - 服务配置 中的“混流”),或联系 ZEGO 技术支持开通。
相关 API 请参考 mixStreamEx
新增 [setMinVideoFpsForTrafficControl] 和 [setMinVideoResolutionForTrafficControl] 接口,可以用于用户网络不佳且开启了流量控制时,通过接口设置最低视频帧率及分辨率,帮助用户综合控制视频的显示效果。
相关 API 请参考 setMinVideoFpsForTrafficControl、setMinVideoResolutionForTrafficControl
稳态语音默认检测周期为 3 秒,用户需要修改默认检测周期,可通过 [enableAudioPrepVADStableStateMonitor] 接口自定义检测周期参数。
相关 API 请参考 enableAudioPrepVADStableStateMonitor
优化了鉴权方式
6.9.0 及以上版本,在创建引擎时将 AppSign 传空或不传,并且在登录房间时必须传入 Token,鉴权通过后即可使用实时音视频功能。
6.9.0 以下版本,在创建引擎时传入 AppSign,鉴权通过后即可使用实时音视频功能。
产物名称变更
规范 SDK 名称大小写:原本的 so 名称为 libzegoliveroom.so,变更为 libZegoLiveRoom.so;原本的 jar 名称为 zegoliveroom.jar,变更为 ZegoLiveRoom.jar。
如需使用该功能,请联系 ZEGO 技术支持。
相关 API 请参考 startPlayingStream
新增支持全方位虚拟立体声,将单声道的声音通过算法处理,模拟成立体感的声音。该功能常用于 KTV 场景中,可以使唱歌的声音更加有立体感。
当调用 [enableVirtualStereo] 接口,将 angle 参数设置为 -1 时,表示立体声效果为全方位立体声。
相关 API 请参考 enableVirtualStereo
如需使用该功能,请联系 ZEGO 技术支持。
支持通过版权音乐功能,获取版权歌曲或伴奏资源,并结合媒体播放器进行本地播放控制,可以用于在线 KTV 、语聊房等合唱或使用背景音乐的场景。
如需使用该功能,请联系 ZEGO 技术支持。
允许开发者自定义监听音频和视频帧到达的回调通知, 包括音频首帧到达回调、视频首帧到达回调、视频首帧渲染回调。
相关 API 请参考 callExperimentalAPI
新增统一的摄像头对焦模式和曝光模式。
摄像头对焦模式:
统一自动对焦:摄像头的焦距会不变,使用后摄像头观察物体,移动物体由远及近不会有清晰度变化。
统一持续自动对焦:摄像头的焦距会自适应,使用后摄像头观察物体,移动物体由远及近会有清晰度变化。
摄像头曝光模式:
统一自动曝光:移动手机,摄像头预览不会有明显的亮度变化。
统一持续自动曝光:移动手机,摄像头预览有明显的亮度变化。
该功能常用于 KTV 等需要混流对齐的场景,当拉流端播放时,通过 [setPlayStreamsAlignmentProperty] 接口控制播放的实时音视频流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐;若不需要,则所有流都不对齐。
相关 API 请参考 setPlayStreamsAlignmentProperty
音频设备模式新增 GENERAL3 和 COMMUNICATION4 两种模式。
GENERAL3 模式表示关闭系统前处理,始终占用麦克风,全程使用媒体音量。COMMUNICATION4 模式表示开启系统前处理,上麦占用麦克风,下麦释放麦克风,全程使用通话音量。
相关 API 请参考 setAudioDeviceMode
通过该功能可以判断一定时间内是否有人对着麦克风说话,用于检测采集后或音频前处理后的音频数据为人声还是噪声。
相关 API 请参考 setAudioVADStableStateCallback、enableCapturedAudioVADStableStateMonitor、enableAudioPrepVADStableStateMonitor、onCapturedAudioVADStateUpdate、onAudioPrepVADStateUpdate
如需使用该功能,请联系 ZEGO 技术支持。
支持生成 Token 的密钥,实现 ServerSecret 平滑迁移能力。通过后台配置同时启用两个 ServerSecret,当其中一个 ServerSecret 暴露的情况下,可以平滑迁移到另一个 ServerSecret。
如需使用该功能,请联系 ZEGO 技术支持。
Token 支持加入黑名单:为防止旧 Token 释放后攻击新 Token,新增支持将 Token 加入黑名单。Token 黑名单,是指该 Token 在有效期内的 AppID 下无法使用。
Token 支持通过流 ID 鉴权:为防止通过鉴权后,使用相同 Token 推其他的流,新增支持生成绑定流 ID 的 Token。
为确保客户端下麦成功,服务端新增批量禁止 RTC 推流和批量恢复 RTC 推流能力。
调用批量禁止 RTC 推流接口,可以批量禁止指定流 ID 推送到 RTC 服务,禁止推流操作会向正在推流的客户端和正在拉流的客户端发送推流被禁止的通知。调用批量恢复 RTC 推流接口,可批量恢复被禁止推往 RTC 媒体服务的流 ID。
相关服务端 API 请参考 批量禁止 RTC 推流、批量恢复 RTC 推流
优化了本地和远端用户的上下行网络回调 [onNetworkQuality] 的处理逻辑
g705ba516f7(2021-04-09 发布) 至 6.5.0 版本的处理逻辑为:
6.6.0 及以上版本的处理逻辑为:
默认最大推流通道数量由 2 路新增到 4 路
6.6.0 之前版本默认最大推流通道数量为 2 路,如需支持更多则需要 ZEGO 技术支持。
为了配合实时信令功能,该版本默认最大推流数新增至 4 路。
转推地址长度限制扩容
混流转推地址长度限制由 512 字节扩展到 1024 字节。
优化了媒体播放器播放 AAC 格式的文件时,获取播放进度不准确的问题
官网的 SDK 包默认支持 VP8、MP3 编解码,从该版本开始,不再需要特殊编包
电音音效指的是可以让人说话、唱歌的声音,经过处理后带有电音的效果。该功能常用于 KTV、语聊房场景。
在 initSDK 初始化 SDK 之前,调用 setElectronicEffects 接口可以开启电音音效,并可根据需要设置不同模式的电音调式以及对应调式的起始音高。未调用此接口时,默认关闭电音音效。
开发者也可以通过 setVoicePreset 接口预设常见的电音音效,目前支持预设 C 大调电音音效、A 小调电音音效、和声小调电音音效。
使用此功能需要升级 SDK 并联系 ZEGO 技术支持配置。
不同的业务场景,对用户登录房间、推流等权限有时效限制,可以通过 Token 来实现。
当 Token 过期后,服务端会主动将用户的权限进行回收,客户端的用户会被踢出房间并停止推流。该机制可以使用户权限管理更安全,常用于 KTV、语聊房场景。
相关 API 请参考 setToken、onTokenWillExpired
直播使用混流时,可以在混流输出画面上实时更新水印,以达到实时更新混流的时候同步刷新水印。该功能常用于在线教育场景,例如上课时在混流画面上标注每条输入流对应的老师名字或者班级名字。
ZegoMixStreamConfig 的混流输入列表中新增 ZegoLabelInfo 字段,可设置混流输入视频画面上的相关文字水印信息,进行混流的每一条流,只支持一个水印。
相关 API 请参考 mixStreamEx
在进行混流时,可以对每一条流进行渲染模式的设置。当混流输入流的分辨率比例与对应输入流在混流输出画面上的布局比例不一致时,可以按照不同的业务场景,选择不同的渲染模式。
ZegoMixStreamConfig 的混流输入列表中新增 renderMode 字段,可设置混流输入视频画面的渲染模式,支持“填充模式”和“适应模式”。
相关 API 请参考 mixStreamEx
H.265 编解码完整方案上线,适用于单主播直播和多人互动直播场景。开发者可以在编码或混流时输出 H.265 格式的视频码流,H.265 在同等画质下相对于 H.264 节约了 30% 的流量。
相关 API 请参考 isVideoEncoderSupported、isVideoDecoderSupported、enableH265EncodeFallback、onVideoEncoderChanged。
使用该功能前请先联系 ZEGO 技术支持。
与远端用户连麦成功后,当远端扬声器设备状态发生变更时,例如开/关扬声器,可以通过 onRemoteSpeakerStatusUpdate 回调监听。
在加载资源完成后,调用 setPlaySpeed 接口可以设置媒体播放器的视频播放倍速,支持 0.5 ~ 2.0 倍,默认为 1.0,即正常速度。
使用混流功能时,支持通过 audioDirection 参数设置每路音频流的空间音频效果。
优化耳返功能,使耳返的延迟缩短至 50+ ms
新增支持小米机型的耳返功能
扩大了广播消息和弹幕消息的容量,从此版本开始,支持发送长度更大的消息(默认限制为 1 KB)
如有需要请联系 ZEGO 技术支持。
某些机型在使用软解时,手机可能存在发烫的情况,媒体播放器新增优先使用硬解的功能,可降低 CPU 消耗,为系统节约资源开销。
新增接口 requireHWDecoder。
联系 ZEGO 技术支持开通该配置,可在拉流质量回调中监听视频卡顿次数、累计视频卡顿次数、累计视频卡顿比例、累计视频卡顿时长和音频卡顿次数、累计音频卡顿次数、累计音频卡顿比例、累计音频卡顿时长。其中,累计卡顿不会去除对端由于设备关闭造成的卡顿。
相关接口 onPlayQualityUpdate。
开发者在监听声浪回调时,往往只关注人声部分,SDK 在声浪回调中新增流中是否包含人声的检测功能。
新增接口 enableVAD,设置 true 开启检测,可在 onCaptureSoundLevelUpdate 回调中通过 vad 判断对应的流是否包含人声。
在使用系统耳返时,调用 setCaptureVolume 接口采集音量,可同步调整系统耳返音量,让观众听到的声音与自身耳返声音保持在同一水平线。
当开发者已经将播放数据写入内存后,可直接使用媒体播放器进行播放,无需再写成文件进行播放。
对音频质量比较关注时,可通过拉流质量回调新增的 MOS 音质评分字段了解当前音频的质量。
MOS 值 | 音质评价 |
---|---|
大于 4.0 |
音质佳,清晰流畅。 |
3.5 ~ 4.0 |
音质较好,偶有音质损伤,但依然清晰。 |
3.0 ~ 3.5 |
音质一般,偶有卡顿,不是非常流畅,需要一点注意力才能听。 |
2.5 ~ 3.0 |
音质较差,卡顿频繁,需要集中精力才能听清。 |
2.0 ~ 2.5 |
音质很差,偶有杂音,部分语义丢失,难以交流。 |
小于 2.0 |
音质非常差,杂音频现,大量语义丢失,完全无法交流。 |
-1 |
未知。 |
onPlayQualityUpdate 回调新增 mos 参数。
开发者需要支持超过 12 路拉流时,请联系 ZEGO 技术支持设置。
当用户在使用某些安装方式时,可能会无法自动生成日志文件夹,导致无法生成日志。SDK 优化日志写入方式,在发生此类异常时,日志可在默认路径下生成。
修复特定条件下的崩溃问题
修复可能的内存泄漏问题
修复上传日志耗时久的问题
在进行多端同步行为或耗时统计时,需要网络时间同步。SDK 新增获取 NTP 时间功能,可通过 “getNetworkTimeInfo” 接口获取 NTP 时间戳。
使用该功能前请先联系 ZEGO 技术支持。
基于 ZEGO 服务器的 NTP 时间,在混流时自动对齐各路流的播放时间。
使用该功能需要先通过 enablePublishStreamAlignment 开启校准网络时间,再通过 streamAlignment 开启自动精准对齐。
使用该功能前请先联系 ZEGO 技术支持。
新增 setMediaPlayerFileReader 接口,用于扩展文件读取操作,可在播放文件前进行自定义操作,比如使用自己的库对加密文件进行解密。
关闭摄像头时,支持持续推送 JPEG/JPG、BMP 和 HEIF 格式的静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。
新增 setDummyCaptureImagePath 接口,用于设置关闭摄像头时所推静态图片的路径。
新增 getUserByStreamID 接口,可获取到指定流 ID 对应的发布者信息。
优化媒体播放器,调用 seekTo 接口指定播放进度的误差缩短到 10ms
优化帧序列检测,不再过滤 B 帧
优化日志打印,删除一些无用日志
优化媒体播放器、音效播放器,支持读取带有 “file://” 前缀的文件路径
优化音频内部渲染,支持渲染单通道音频
修复媒体播放器先最小化再最大化后画面异常的问题
修复打开文件时报错的问题
修复只推音频且发送 SEI 情景下录制发生异常的问题
修复停止拉流后最后一帧画面显示异常的问题
修复推流过程中插入耳机出现耳返异常的问题
用户权限控制指的是用户登录房间,或是在房间内进行推/拉流等操作时,ZEGO 服务端根据用户登录时携带的 Token 参数,判断用户是否有对应的权限,避免因权限控制缺失或操作不当引发的风险问题。 目前仅支持用户登录房间和用户房间内推流两个权限的校验。
新增接口 setToken,新增回调 onTokenWillExpired。
相关文档请参考 用户权限控制。
同一个用户可以同时加入多个房间,并同时在多个房间内推流、拉流、发送实时消息和接收消息回调。
新增 setRoomMode 等接口。
相关文档请参考 多房间。
Android 10 引入 scoped storage 概念后,一般情况下,App 只能访问 SD 卡上属于 App 的私有数据,开发者可在 AndroidManifest.xml 中添加声明来关闭 scoped storage。
但 Android 11 及以后版本将忽略该声明,强制开启 scoped storage。开发者可使用 SDK 提供的接口,使 SDK 支持直接使用文件路径读写文件。
新增 getLogPathUri、setWaterMarkImagePath、startRecord 接口,媒体播放器新增 start、load 接口,音效播放器新增 playEffect 和 preloadEffect 接口。
在高清预览模式下,为了减少性能消耗,以往版本在摄像头采集后不会立即进行裁剪,导致高清预览模式下分辨率比例与编码比例不一致,最终导致此时的截图比例异常。从此版本开始,可以选择在采集后立即进行裁剪,保证比例一致。
setConfig 接口新增 "snapshot_preview_version=1" 配置,取值为 1 会根据编码分辨率做裁剪,取值为 0 则不会。
由于不同手机支持并发硬编解的数量不同,若该手机并发推流或拉流数超过限定硬编解数量,则会按先后顺序分配硬编解能力。为解决只能默认分配问题,新增自定义设置硬编解功能。
新增 requireHardwareEncoderByChannel、requireHardwareDecoderByStream 接口。
优化初始化 SDK 和登录房间耗时,首次初始化 SDK 耗时和首次登录房间耗时降低 50% 以上。
优化 AudioDeviceMode 切换时机,可以随时切换音频设备模式。当语聊房用户涉及开黑模式或音乐模式时,可在推流后切换音频设备模式,保证开黑模式下的回声消除效果,保持音乐模式下的高音质。
优化外部渲染逻辑,在进行上下翻转、水平翻转、旋转操作时,直接影响外部渲染数据变化。
在关闭接收音频数据后,再开启接收音频数据,通过 setConfig 配置后,可以收到首帧回调。
混流转单流转推 CDN 时,转推成功后,会自动补 I 帧,避免出现短暂黑屏的情况。
优化媒体播放器,seek 后进行暂停/恢复操作生效。
优化耳返功能,大幅度降低耳返延迟。
修复偶现的停止拉流后最后一帧画面显示异常的问题。
修复设置开启外部渲染时找不到对应流通道的问题。
修复硬编码本地域名异常问题。
修复应用掉线时重复调用登录、推流、拉流接口不报异常的问题。
媒体播放器修复部分文件加载后没有回调的问题。
空间音频能够感知空间内 360° 的声音位置。开发者可以通过空间音频功能在音视频房间内营造更逼真的“座位”效果,用户可以通过空间音频感知声音的来源方向,还原线下场景。适用于语聊房、剧本杀和线上会议等场景。
新增 enablePlayVirtualStereo 接口,用于设置特定 StreamID 的音源角度。
优化流控策略,开启流控功能的码率、帧率和分辨率自适应,在上行网络可用带宽低至 150 kbps 时仍可保证正常推流
优化推拉质量回调中 quality 字段计算公式,能够更客观地反映推流客户端的网络情况
优化音频观察器的逻辑,功能的开关与视频采集设备解耦,即该功能的开关不会引起视频设备的开关
优化媒体播放器的 Seek 逻辑,Seek 成功后直接渲染对应时刻的音视频内容,忽略缓冲区的音视频数据
修复了媒体播放器连续快速多次 Seek 导致卡死的问题
修复了更新房间内流附加信息失败的问题
在混流时,开发者通过设定拉流端要突出的目标流,实现了在多人同时说话的嘈杂环境下,突出特定用户的语音。例如在会议场景下,可以保障重点人物发言的声音。
在调用 mixStreamEx 接口开启混流时,将传入的 ZegoMixStreamInfo 混流配置参数中的 audioFocus 设置为 “true”,即可指定该流为焦点语音流。
新增 ZegoMixStreamInfo 结构体 audioFocus 成员。
混音场景下,新增调节麦克风声音的偏移值。在老年 KTV 场景中,演唱者声音总是慢于伴奏,可通过人声偏移功能,让人声与伴奏的混音处于相同步调。
新增接口 setAudioCaptureShiftOnMix。
新增本端上下行网络质量回调,默认每两秒回调一次。新增远端用户的上下行网络回调,每个拉取的远端用户每两秒回调一次。可通过此功能分析链路上网络情况,第一时间了解本端和远端用户的网络状况。
新增接口 onNetworkQuality。
新增下行码率,统计周期内下行的音视频平均码率。新增下行音频平均码率,统计周期内下行音频的平均码率。新增下行视频平均码率:统计周期内下行视频的平均码率。新增累计音频卡比例,统计本地用户拉取所有音频流卡顿占总有效时长的百分比。新增累计视频卡比例指标,统计本地用户拉取所有视频流卡顿占总有效时长的百分比。
ZegoPlayStats 新增参数 rxKBitRate
、rxAudioKBitRate
、rxVideoKBitRate
,相关接口请参考 onPlayStatsUpdate。
ZegoPlayStreamQuality 新增参数 audioCumulativeBreakRate
、videoCumulativeBreakRate
,相关接口请参考 onPlayQualityUpdate。
在成功发布首帧音频和首帧视频时,监听该接口可以触发回调。可通过该回调计算音频和视频发布耗时和成功率。
新增接口 onSendLocalAudioFirstFrame、onSendLocalVideoFirstFrame。
在音频录制中,本地不推流的情况下,支持录制本地采集、媒体播放器播放、远端拉流的声音。通常在 AI 课堂中,学生对 AI 视频学习并朗读,并需要录制朗读内容的场景下使用。
在直推 CDN 场景中,推流中断重试时,CDN 鉴权参数过期,无法立即返回错误。新增刷新重试时的推流地址和鉴权参数,可在鉴权参数过期前定时调用此接口刷新鉴权参数。
相关接口请参考 setPublishConfig。
在 SDK 采集到音频数据后,音频观察器可将音频数据通过回调直接传递给开发者。在需要接入语音识别的场景中,开发者可通过音频观察器获取到 SDK 采集的数据。
新增接口 startAudioObserver、stopAudioObserver、setAudioObserverCallback。
房间作为可选编译选项,可以编译成纯流媒体 SDK 形式。
可避免某些手机开启系统耳返后,无法使用 OpenSL ES 采集,导致的异常。
考虑到某些设备系统前处理能力不足,建立设备白名单,名单内设备只能使用 general 模式。
在某些场景下,无法判定网络质量回调时,使用未知表示。
在使用 H.264 编码的屏幕共享场景中,提供编码优化的能力,提升屏幕共享的清晰度,在快速翻动滚动条的时,文字会更加清晰。
新增接口 enableScreenCaptureEncodeOptimization ,设置编码优化开关。
在使用媒体播放器、音效播放器时,可以给需要播放的资源设置循环播放次数。
新增接口 setLoopCount,进行设置循环次数。
新增 setConfig("transform_http_to_https_on_init=true") ,控制原本代码固定使用 HTTP 的请求是否改为 HTTPS,true 为改为 HTTPS,false 为不改为 HTTPS。
当需要一次性关闭所有音频或视频时,可通过该功能实现。
新增接口 activateAllAudioPlayStream、activateAllVideoPlayStream,设置是否接收音频、视频数据。
采集帧率在弱光环境下帧率会太低,SDK 优化后会往高帧率选择。新增配置控制摄像头选择帧率范围,可以选择低帧或高帧的效果。
新增 setConfig("camera_low_light_boost=true"),配置高低帧效果,true 为低帧率效果,false 为高帧率效果。
支持 username 为空时登录房间
优化心跳触发用户列表拉取
优化流更新触发流列表拉取
优化心跳控制打散请求
日志默认打印 SDK 版本信息和日志输出的路径
支持任何时刻切换视频内外采集
媒体播放器支持播放 RTMP 协议流媒体
纯音频场景下,优化本地录制功能,在放弃麦克风使用时新增回调
停止推拉流后,支持 channel 中音量大小重置
新增适配 Android R
优化 DNS 解析逻辑
修复打印 appID 溢出的问题
修复时间回退可能导致 SDK 认为心跳超时的异常问题
修复销毁 QUIC 连接时无响应的问题
修复 OpenH264 编码在 swf 无法正常播放问题
修复媒体播放器播放有跳帧的问题
修复播放器中途修改回调格式的问题
修复本地录制偶现失败的问题
修复 Log 可能无效的问题
修复多个媒体播放器同时播放卡住的问题
修复媒体播放器特定情况下播放失败的问题
修复高频调用 JNI 反射的崩溃问题
修复 RunSyncEx 修改栈变量导致的栈破坏的崩溃问题
修复 SurfaceTexture 在 detach 后回调访问空指针的崩溃问题
修复混响破音的问题
修复拉流画面有条纹并且画面最底部有绿边的问题
新增棱镜相关质量上报,方便开发者及时发现问题、定位问题、解决问题,更好、更全面地提升用户体验。
多人语音场景中,本端可设置需要在拉流里音量突出的流 ID。可搭建一个与现实课堂极为接近的教课空间,无论学生齐声朗诵还是课题抢答等,在热烈的课堂氛围中也可保证老师与学生以自然的方式进行互动。
新增接口 setAudioMixMode,设置拉流中突出音量的音频流。
setVoicePreset 接口新增多种预设声音音效:清澈、高亢、嘹亮、饱满、假音、圆润、低沉、浑厚、女活力,增加实时语音趣味性。
setReverbPreset 接口新增多种预设混响音效:嘻哈、飘渺、3D人声、留声机,方便用户烘托氛围。
推流端启用视频内部采集旋转功能,可设置视频输出的画面方向。在教育场景中,可调整使用高拍仪设备的拍摄角度,提升教师端与学生端画面视角观看一致的体验。
新增接口 setCaptureFrameRotation,设置逆时针旋转 0°(默认值)、90°、180°、270°,支持在推流过程中使用。
新增多个拉流质量回调指标:音频和视频卡顿累计次数、音频和视频卡顿累计时长、音频和视频解码累计时长。方便开发者了解拉流端在 RTC 通话场景中音频和视频的质量,通过数据洞悉业务表现。
ZegoPlayStreamQuality 新增 6 个卡顿统计指标枚举值:audioCumulativeBreakCount
,audioCumulativeBreakTime
,audioCumulativeDecodeTime
,videoCumulativeBreakCount
,videoCumulativeBreakTime
,videoCumulativeDecodeTime
。
1v1 场景下新增触发流量控制的功能,设置触发流控的条件后,远端网络拥塞时推流端可限制推流的码率。在 1v1 秀场直播场景中,网络好的主播进行直播时,可保障该主播的观众观看体验。
新增接口 setTrafficControlFocusOn,可设置 ZEGO_TRAFFIC_CONTROL_FOCUS_ON_REMOTE 将远端网络质量作为关注因素,最后通过接口 enableTrafficControl 控制是否因为远端网络状况差而启动流量控制。
新增查询摄像头权限状态功能,方便开发者实现业务开启前的设备检查,确保视频通信业务顺利开展。
新增接口 getCameraPermissionStatus
,检测摄像头权限状态。
新增设置拉流缓存区间值功能,指定播放缓存自适应调整的区间范围,开发者可根据场景进行设置。
新增接口 setRecvBufferLevelLimit,设置拉流播放缓存自适应调整的区间范围。
推流端启用延迟测量功能,通过拉流端回调监控端到端时延的状态,可用于在音视频通话、直播场景中观测端到端时延,助力服务质量评定。
推流端 enablePeerToPeerLatencyProbe 开启延迟测量功能,拉流端新增设置监听方法 setZegoPeerToPeerLatencyProbeCallback,实现端到端时延测算。
播放文件的媒体次要信息,可用于录制文件业务审查。
媒体播放器新增设置播放文件 SEI 信息回调方法 setMediaSideInfoCallback,回调数据信息和播放器序号。
多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID,标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。
新增回调接口 onRoomInfoUpdated 可获取当前通信的 RoomSessionID。
在外部采集场景下,可通过 setStatusReason 接口将推流端设备状态同步到拉流端。
启用方式为 setConfig("recover_ori_device_volume=true"),默认值为 false。
提供 setConfig("play_buffer_max_cache_interval_ms=5000") 控制 Jitter 最大缓存时间上限,默认值为 5 秒。
拉流质量回调中新增字段 avTimestampDiff(int 类型),用于快速诊断拉流过程中音画不同步的现象,开发者可依据此信息实现业务监控和预警。
新增 setReverbPreset 预设混响效果接口,预设音乐厅、录音棚、地下室、KTV、流行、摇滚、演唱会等多种混响效果,方便用户烘托气氛。
新增 setAdvancedReverbParam 自定义混响接口,支持实现更专业的调音效果。
setVoicePreset 新增磁性男、清新女 2 种美声变音效果,增添用户的声音魅力。
用户首次登录房间时,可回调房间内全量用户的列表;用户处于房间内时,可接收房间内更新的增量用户列表。
activateAudioPlayStream 和 activateVideoPlayStream 接口在拉流前和拉流后设置均能生效。
媒体播放器支持加载 host 为 IP 地址的资源文件。
通过 setLogDirAndSize 接口可设置本地日志文件大小在 1M-100M 之间,文件大小默认值为 5M。
新版本 Android SDK 支持的 API 级别要求不低于16,最低支持的操作系统版本从原来的 Android 4.0.3 提升到 Android 4.1。
流删除增加类型 ZegoStreamInfo.StreamDeleteReason,说明当前流删除的原因,主要分为主动关闭和被动关闭两种情况,开发者可根据实际业务情况对流删除情况进行处理。
新增汽车人、AI 机器人、外国人、空灵 4 种变音效果,轻松创建特色音效,使用户的声音更加妙趣横生。在语音场景中,营造好友语音之间的搞怪气氛,增强娱乐性。
新增接口 setVoicePreset,提供 4 种枚举值指定设置。
在外部采集时,新增流控信息的回调,开发者可根据码流的流控信息主动适配网络情况,提高抗弱网能力。
新增流控回调接口 setTrafficControlCallback,该接口仅在外部采集的使用场景下有效。
enableCamera = true && muteVideoPublish = true
的情况下,支持正常发送 SEI在推流端,采集预览支持逆时针旋转,提供 0(默认值),90,180,270角度,可根据实际场景调整移动端的横竖屏旋转效果。在拉流端,渲染时采用顺时针角度旋转。在教育场景中,老师使用录屏作为外部采集源会存在旋转使用的过程,旋转功能可帮助调整视频方向。
新增 setConfig("vcap_external_handle_rotation=false"),默认是true,表示在推流端处理旋转;如果配置false,则会把旋转值传到拉流端。用于调用外部采集接口时,通过 SetRotation() 设置图像旋转角度(CVPixelBuffer 模式)或者 VideoCaptureFormat 中设置图像旋转角度(内存模式)。
音频频谱功能支持采集麦克风的人声数据和系统声卡的音频数据,并回传给开发者。在直播场景中,主播开系统伴奏放歌,其频谱动画效果可展示给主播自身和观众,增添更多互动玩法和趣味画面。
房间附加消息 RoomExtraInfo 模块,将替代原有的可靠消息 ReliableMessage 模块。RoomExtraInfo 模块具有更高的稳定性和可靠性,保障机制会保证房间内所有人会收到消息更新。在教育场景中,一堂线上公开课,教师可以更新房间附加消息,通知房间内所有人课程的进行状态,如:开始上课/课间休息/课程结束等,学生在房间内可以稳定及时地收到该消息更新。
注意:两个模块不能同时使用,可靠消息 ReliableMessage 模块计划于12月的迭代版本中废弃。
新增 ZegoRoomExtraInfo 模块。
用于下行网络测速,可有效帮助用户判断和预测下行网络质量是否良好(目前仅用于预测网络质量),如需要网络测速模块功能,请联系 ZEGO 技术支持处理。
新增 startDownlinkSpeedTest,stopDownlinkSpeedTest 等接口。
便于掌握媒体播放器的缓存加载情况。在教育场景中,教学视频缓存到达末尾时可能需要提示用户即将播放下一教学视频/开始下一章节等。
在 event 回调中新增 onReadEoF 回调,当文件缓冲到达文件的末尾时抛出。
该方法可以实现快速切换房间功能,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前通过调用登出原房间和加入新房间两个接口实现的方法相比,更易用也更高效。
新增 switchRoom 接口,用于从一个房间切换到另一个房间。
相比 General 模式,该模式下会保持对设备的占用,在切换房间时耗时更短。在狼人杀和剧本杀的场景下,使用该模式可以使用户切换房间后推流/拉流时快速发出声音/听到声音。 具体配置可联系 ZEGO 技术支持咨询。
新增 onPreviewVideoFirstFrame 回调接口,在启动本地预览(startPreview
)时,渲染出第一帧作为回调抛出。便于使用视频外部采集设备时,掌握开启本地预览的情况。
每个开启预览(startPreview
)/结束预览(stopPreview
)周期内只会抛出一次首帧回调。期间调用设置预览(setPreview
)和开关摄像头(enableCam
)不会触发此回调。
优化重构 MediaPlayer 模块,SDK支持最多创建10个媒体播放器实例,同时播放音视频文件。
原先 enableMic
和 setFrontCam
等接口在反初始化后再次初始化SDK时,在主副通道的逻辑不一致,偶现状态没有被重置的情况。优化逻辑后,反初始化SDK后再初始化,所有状态会重置。
便于在多路混流时,单独调整某条流的声音音量,解决混流后因为音频来源本身的音量大小差距较大而导致混流后的音频音量不均衡的问题。修改范围为0-200
默认打开,用于处理低于60Hz的低频杂音,可通过 setConfig("prep_high_pass_filter=false")
配置关闭。
在推两路流的场景下,两路流的音频编码格式可以按场景分别进行设置,比如秀场直播场景中,单向直播(普通延迟模式)切换成连麦PK(低延迟模式)时,可同时推两路流,避免在同一个推流通道中进行模式切换产生的停顿,提升用户体验。
新增SetLatencyModeByChannel:接口,支持按通道设置推流延迟模式。
新增SetAudioChannelCountByChannel: 接口,支持按通道设置推流音频声道数。
该格式压缩率大,生成的录制文件较小,在线教育场景中,可能需要将音频数据上传至服务器进行分析,而同样的一段音频,编码成 AAC 格式的文件大小比 PCM 格式的文件更小,更易于上传。
ZegoMediaRecordFormat 新增 AAC 格式,用于录制 AAC 格式的纯音频。
注意:如果此版本之前的 SDK 接收超过 512 字节的消息,会丢弃超过 512 字节的数据
新增enableViewMirror接口,用于设置拉流画面镜像。
(1)新增 setOnlineResourceCache、setBufferThreshold、getOnlineResourceCacheStat 接口,分别用于设置缓存大小、设置缓冲时间、获取缓存状态,在播放在线资源时可提前缓冲部分。
(2)新增 setLoadResourceTimeout 接口,用于设置加载资源超时时间,业务层可感知访问超时,方便通知用户进行下一步操作。
1、优化瞬态噪声抑制功能 从算法层面进行优化,提高瞬态噪声抑制效果。
2、重构获取硬件信息模块,优化拉多路流场景下的系统 CPU 性能
1、修复媒体录制模块的异步回调崩溃问题
2、修复使用视频外部采集时偶现的崩溃问题
3、修复外部滤镜相关的 bug
4、修复使用外部渲染时偶现的 bug
当前版本包含了待废弃,已删除的接口,接口详情请查看 废弃接口 2020/06/09 及 2020/09/09 部分内容。
(1)新增setActiveAudioChannel 接口,可以调用接口设置参数进行声道切换,控制只播放左声道的音乐或左、右两个声道的音乐。在KTV 场景下,可以通过切换左右声道来控制只播放伴奏或播放伴奏和原唱。
(2)新增setAudioChannelKeyShift 接口,可以通过接口设置所需的变调效果,实现对音乐升调或降调。满足音乐爱好者的变调演唱需求。
(1)在推流前可进行网络测速和 UDP 连通性测试,可有效帮助用户判断和预测上行网络质量是否良好、UDP 连通性是否正常。
新增 startSpeedTest、setQualityCallbackInterval、stopSpeedTest 等接口,用于网络测速;
新增 startConnectivityTest、stopConnectivityTest 接口,用于 UDP 连通性测试。
如需要网络测速和 UDP 连通性测试模块功能,请联系 ZEGO 技术支持处理。
(2)如在推拉流过程中遇到问题,可调用接口进行网络探测,此时将检测所有协议的连通性及 TraceRoute。
新增 startNetworkTrace、stopNetworkTrace 接口,用于网络探测。
新增 enableTransientNoiseSuppress 接口,可消除敲键盘、敲桌子等瞬态噪音,帮助用户获得更好的音频体验。
新增 onAudioRouteChange 回调,当有耳机插拔、扬声器和听筒切换等音频路由变化时业务层可感知到,方便通知用户设备相关的变化。
新增 onNetTypeChange 回调,可以根据回调的当前网络状态,提示用户网络状态的变化。
在 SDK 生命周期内可以进行内/外部采集、内/外部渲染、内/外部滤镜的切换,使用上更加灵活。
(默认9路,如需要支持更多路数,可联系 ZEGO 技术支持处理)
媒体本地录制代理 IZegoMediaRecordCallback2 新增 onRecordStatusUpdate 回调。
离线录制时可以通过该回调获取分辨率、帧率等质量信息,及时做容错处理。
支持动态链接 so 库,共享一个 STL 库,减少包大小。
采集帧率保持和设置值一致,避免出现画面静止时采集帧率极低,导致拉流没有画面的问题;默认采集分辨率和屏幕分辨率一样,避免采集时出现黑边。
修复调用 enableCamera 设置停止视频采集后,音视频形式传输的媒体次要信息无法发送的问题。
该功能可将直播流转推到 Facebook ,助力客户生态引流。当前仅部署到海外集群。
通过推拉流之前设置的对称密钥,进一步强化媒体数据的安全性,密钥设置由外部模块完成,比如客户 App。仅支持 Native SDK 推拉流,不支持转发 CDN、WebRTC、混流客户端和录制客户端。
decryptKey
字段,用于拉流前设置拉流解密密钥;客户使用外部采集功能时无需再自行渲染,方便客户使用。当前仅支持基础功能的渲染,像添加镜像等高级功能暂不支持。
电商直播场景中有一些卖翡翠、吊坠之类体积较小的商品,通过对焦和变焦的功能,客户可以清晰地展示商品的细节。
避免用户监听推流回调时还有不存在的 streamID,进而拉空流的问题。
完善推拉流回调的内容,客户通过该回调可以获取更多的信息。
g54f488a0c
版本中对 API 进行了如下变动。
新增:
setConfig
配置,参数 ZegoConstants.Config.PREVIEW_CLEAR_LAST_FRAME + "=true",ZegoConstants.Config.PLAY_CLEAR_LAST_FRAME + "=true"。setConfig
配置,参数 audio_encoder_samplerate=samplerate
,支持的 samplerate 值为 16000/32000/44100/48000。getDuration
, getCurrentDuration
的日志打印。setCamExposurePoint
, setCamFocusPoint
接口的日志打印。ge443c0e04
版本中对 API 进行了如下变动。
新增:
改动:
setAudioPrep2
接口已废弃,不再推荐使用。rotation
参数,以设置旋转角度,通过 mClient.onEncodedFrameCaptured
传递给 ZEGO SDK,拉流时,视频画面是旋转角度的朝向。ZegoConstants.AudioDeviceMode.Communication3
参数,使用此参数可保证不推流的情况 ZEGO SDK 不会占用麦克风设备。animation
。reason
参数。customReason
。max_channels
。gc3c7f5327
版本中对 API 进行了如下变动。
新增:
改动:
reason
参数。customReason
。max_channels
。新增功能
新增 ZegoMultiRoom
功能,支持用户进入多个房间进行拉流,帮助开发者实现更多特殊的互动视频场景,如教育超级小班,多房间监控等需要用户灵活加入多房间的场景。注意:SDK 默认不包含此功能,需要下载包含此功能的 SDK。
改进优化
日志即将写满回调
IZegoLogInfoCallback 增加日志即将写满回调 onLogWillOverwrite
音效均衡器
ZegoLiveRoom增加音效匀衡器设置接口 setAudioEqualizerGain,提供了频带设置和频带的增益值设置,帮助开发者实现更加优质的音质效果。
分层编码新增类型
ZegoConstants.ZegoVideoCodecAvc 枚举新增 VIDEO_CODEC_VP8
类型。
媒体播放器新增回调数据格式
新增 IZegoMediaPlayerVideoPlayWithIndexCallback2 视频播放回调,支持给出 YUV(I420,NV12,NV21) 格式视频帧数据。
ZegoCamera新增设置曝光点
ZegoCamera 新增 setCamExposurePoint 接口设置曝光点。
为保证 setPolishStep(float step)
和 setPolishFactor(float factor, int channelIndex)
API 参数一致性,新增 setPolishStep(float step, int channelIndex)
和 setPolishFactor(float factor)
。
断线重连机制优化
为修复已知的断线重连机制出现的问题,对断线重连机制进行全面的优化。
新增功能
问题修复
API 整理
gc68861be
版本中对 API 进行了如下变动。
改动:
IZegoDeviceEventCallback
中定义的常量,onDeviceError
的 deviceName
参数使用 ZegoConstants.DeviceNameType 中定义的常量。新增功能
多播放器实例
ZegoMediaPlayer 模块支持最多四个播放器实例,支持播放音乐文件,提供播放进度的通知等;便于预加载,有效降低切换内容的首帧时间。
改进优化
推流回调 IZegoLivePublisherCallback 增加了 onCaptureAudioFirstFrame 回调,通知收到采集音频的首帧。
混流增加转推 CDN 状态的回调接口 IZegoMixStreamRelayCDNCallback
拉流质量回调 IZegoLivePlayerCallback.onPlayQualityUpdate 中的 ZegoPlayStreamQuality 增加了推流端到拉流端的延迟 peerToPeerDelay 和推流端到拉流端的丢包率 peerToPeerPktLostRate
API 整理
ge9606fe0
版本中对 API 进行了如下变动。
新增:
改动:
改进优化
play_nodata_abort
配置项,从即构服务器拉流没拉到数据时可以控制是否终止拉流。 shouldSwitchServer
,支持在连麦时根据此字段判断是否需要切换到即构服务器,开发者在采用附加信息中的拉流 URL 进行拉流的情况下,无需在处理连麦时先停止从 CDN 拉流,再重新从即构服务器拉流。advancedConfig
,支持在混流时传递定制化的混流配置信息到后台,比如指定的视频编码格式、SEI 发送方式。 问题修复
API 整理
g77803827
版本中对 API 进行了如下变动。
新增:
改动:
新增功能
API 整理->新增接口
。改进优化
问题修复
onDisconnect
的问题。API 整理
gc410cfbe
版本中对 API 进行了如下变动。
新增:
改动:
新增功能
音频节约传输开关
新增 enableVAD 接口用做语音活动检测的开关,在有音频的条件下检测到语音时才发送语音包,有效减少流量消耗,降低成本。
多播放器实例
MediaPlayer 模块支持最多三个播放器实例,支持播放音乐文件等;便于预加载,有效降低切换内容的首帧时间。
登录房间加速
登录房间新增由后台配置的加速模式,能够缩短登录房间的时间。
多种回声消除模式
新增 setAECMode 接口支持设置舒适,适度和激进三种回声消除模式。
改进优化
问题修复
endJoinLive
等房间信令时崩溃的问题。onPlayError
的问题。API 整理
gf6f00774
版本中对 API 进行了如下变动。
新增:
改动:
新增功能
问题修复
问题修复
新增功能
改进优化
问题修复
新增功能
问题修复
新增功能
问题修复
新增功能
问题修复
改进优化
联系我们
文档反馈