实时音视频
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
标准
Express-Video SDK
本地下载
说明
包含白板功能
Express-Video SDK
本地下载
说明
2021.04.15 Version: 2.6.0

新增功能

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

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

相关 API 请参考 startMixerTask

问题修复

1. 修复已知的问题

2021.04.01 Version: 2.5.0

新增功能

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

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

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

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

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

相关 API 请参考 ZegoMediaPlayer > setNetWorkBufferThreshold

2021.03.18 Version: 2.4.0

新增功能

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. 修复了登录房间失败时,有概率出现内部线程卡住的问题

2021.03.05 Version: 2.3.1

问题修复

1. 修复已知的问题

2021.03.04 Version: 2.3.0

新增功能

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. 增加明文日志打印,方便开发者自行排查接口调用异常问题

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] 接口,请使用 [setAudioRouteToSpeaker] 来实现原来的功能

相关 API 请参考 setAudioRouteToSpeaker

问题修复

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

2021.02.04 Version: 2.2.1

问题修复

1. 修复了可能无法删除推流水印的问题

相关 API 请参考 setPublishWaterma

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

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

相关 API 请参考 sendCustomAudioCaptureAACData, sendCustomAudioCapturePCMData

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

相关 API 请参考 onRemoteVideoFrameEncodedData

2021.01.28 Version: 2.2.0

新增功能

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] 字段会抛出原始服务器码,便于开发者反馈详细问题

2021.01.21 Version: 2.1.1

问题修复

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

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

2021.01.14 Version: 2.1.0

新增功能

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

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

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

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

相关 API 请参考 setPlayStreamBufferIntervalRange

问题修复

1. 修复已知问题

2021.01.07 Version: 2.0.1

问题修复

1. 修复已知问题

2020.12.31 Version: 2.0.0

新增功能

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

2020.12.24 Version: 1.20.1

问题修复

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

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

2020.12.17 Version: 1.20.0

新增功能

1. 新增网络测速功能

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

相关 API 请参考 startNetworkSpeedTest, stopNetworkSpeedTest, onNetworkSpeedTestQualityUpdate

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

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

相关 API 请参考 onNetworkModeChanged

3. 新增摄像头变焦功能

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

相关 API 请参考 getCameraMaxZoomFactor, setCameraZoomFactor

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

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

相关 API 请参考 onAudioRouteChange

问题修复

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

相关 API 请参考 startRecordingCapturedData, stopRecordingCapturedData

2020.12.10 Version: 1.19.1

改进优化

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

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

相关 API 请参考 loginRoom, logoutRoom, switchRoom

问题修复

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

相关 API 请参考 seekTo

2. 修复了从媒体音量切换到通话音量时偶现异常的问题

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

2020.12.03 Version: 1.19.0

新增功能

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

2020.11.24 Version: 1.18.1

问题修复

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

2020.11.19 Version: 1.18.0

新增功能

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

3. 修复媒体播放器首次获取到的本地播放音量或推流音量为 0 的问题

相关 API 请参考 ZegoMediaPlayer > playVolume / publishVolume

废弃删除

1. 废弃原有的 [setReverbParam] 接口,如有需要请使用 [setReverbAdvancedParam] 代替

相关 API 请参考 setReverbAdvancedParam

2. 废弃原有的 [onRoomStreamUpdate] 回调,请使用带 [extendedData] 扩展信息参数的同名回调代替

相关 API 请参考 onRoomStreamUpdate

2020.11.05 Version: 1.17.5

改进优化

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

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

问题修复

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

相关 API 请参考 sendSEI

2. 修复 iOS 屏幕采集推流偶现音画不同步的问题

相关 API 请参考 handleReplayKitSampleBuffer

2020.10.22 Version: 1.17.0

新增功能

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

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

相关 API 请参考 setVoiceChangerPreset

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

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

相关 API 请参考 setReverbEchoParam

3. 新增屏幕采集 (ReplayKit) 自适应画面旋转功能

默认在推流端处理自适应旋转画面,也支持在拉流端做旋转处理以降低推流端的内存开销,具体使用方法请参考 [视频进阶-自定义视频采集] 文档。

相关 API 请参考 prepareForReplayKit, handleReplayKitSampleBuffer

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

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

相关 API 请参考 ZegoMediaPlayer > setVoiceChangerParam

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

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

相关 API 请参考 takePublishStreamSnapshot, takePlayStreamSnapshot

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

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

相关 API 请参考 enableTransientANS

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

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

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

改进优化

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

相关 API 请参考 onPlayerQualityUpdate

问题修复

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

废弃删除

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

相关 API 请参考 setVoiceChangerPreset, setVoiceChangerParam

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

相关 API 请参考 setReverbPreset, setReverbAdvancedParam

2020.10.15 Version: 1.16.1

改进优化

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

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

问题修复

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

2020.09.24 Version: 1.16.0

新增功能

1. 新增音效播放器功能

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

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

相关 API 请参考 createAudioEffectPlayer, destroyAudioEffectPlayer

问题修复

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

相关 API 请参考 onRoomStreamExtraInfoUpdate

2020.09.17 Version: 1.15.2

问题修复

1. 修复媒体播放器单独设置本地播放音量或推流音量可能不生效的问题

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

相关 API 请参考 onRoomUserUpdate

2020.09.10 Version: 1.15.0

新增功能

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 代替

2020.08.27 Version: 1.14.0

新增功能

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. 修复通过混响参数 ZegoReverbParam 的 Preset 构造方法得到的参数有误的问题。

4. 修复 ZegoMediaPlayer 的 currentProgress getter 得到的数值有误的问题。

2020.08.13 Version: 1.13.0

新增功能

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

2020.08.06 Version: 1.12.3

问题修复

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

2020.07.30 Version: 1.12.0

新增功能

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

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

相关 API 请参考 setAudioEqualizerGain

2020.07.23 Version: 1.11.4

问题修复

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

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

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

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

2020.07.15 Version: 1.11.0

新增功能

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

改进优化

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

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

2020.06.30 Version: 1.10.0

新增功能

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

改进优化

1. 增加新错误码 1001011

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

2020.06.28 Version: 1.9.3

问题修复

1. 修复反复切换前后台时可能出现的崩溃问题。

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

2020.06.20 Version: 1.9.2

问题修复

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

2. 修复自定义视频采集 enableCustomVideoRender 配置中 bufferType 字段不生效的问题。

2020.06.17 Version: 1.9.1

问题修复

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

2. 修复正式环境下预期之外可能弹窗的问题

2020.06.15 Version: 1.9.0

新增功能

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

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

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

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

问题修复

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

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

3. 修复 setEventHandler 无法设置为空的问题。

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

废弃删除

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

2020.06.11 Version: 1.8.2

问题修复

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

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

2020.05.31 Version: 1.8.0

新增功能

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

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

问题修复

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

废弃删除

1. 删除 24个因参数名称修改而废弃超过 3 个月的回调

2020.05.18 Version: 1.7.9

问题修复

1. 修复通过 URL 拉流时配置不生效的问题。

2. 修复日志默认路径可能为空导致日志写入不生效的问题。

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

2020.05.15 Version: 1.7.5

新增功能

1. 新增错误码 1000008

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

改进优化

1. sendCustomVideoCapturePixelBuffersendCustomVideoCaptureTextureData 接口的原参数 timeStamp 命名改为 timestamp

2020.04.30 Version: 1.7.0

新增功能

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

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

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

问题修复

1. 修复相机在弱光条件下采集帧率会降低的问题。

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

2020.04.15 Version: 1.6.0

新增功能

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

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

改进优化

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

2020.03.31 Version: 1.5.5

改进优化

1. 优化 API 注释。

问题修复

1. 修复混流 soundLevel 设置无效的问题。

2020.03.19 Version: 1.5.1

问题修复

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

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

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

2020.03.14 Version: 1.5.0

新增功能

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 的切换。

2020.02.13 Version: 1.4.0

新增功能

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

2020.01.17 Version: 1.3.5

问题修复

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

2019.12.27 Version: 1.3.4

新增功能

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

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

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

2019.12.13 Version: 1.3.3

新增功能

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

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

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

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

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

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

改进优化

1. 日志功能优化。

2019.11.27 Version: 1.2.1

新增功能

1. 新增混流模块。

2. 新增 IM 模块。

2019.11.11 Version: 1.1.1

新增功能

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

问题修复

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

2019.11.01 Version: 1.1.0

新增功能

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