实时音视频
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
标准
Express-Video SDK
本地下载
包含白板功能
Express-Video SDK
本地下载
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

废弃删除

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

2020.10.22 Version: 1.17.0

新增功能

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

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

相关 API 请参考 setVoiceChangerPreset

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

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

相关 API 请参考 setReverbEchoParam

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

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

相关 API 请参考 ZegoMediaPlayer > setVoiceChangerParam

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

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

相关 API 请参考 takePublishStreamSnapshot, takePlayStreamSnapshot

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

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

相关 API 请参考 enableTransientANS

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

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

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

改进优化

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

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

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

相关 API 请参考 onPlayerQualityUpdate

问题修复

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

废弃删除

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

相关 API 请参考 setVoiceChangerPreset, setVoiceChangerParam

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

相关 API 请参考 setReverbPreset, setReverbAdvancedParam

2020.10.15 Version: 1.16.1

改进优化

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

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

问题修复

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

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

2020.09.24 Version: 1.16.0

新增功能

1. 新增音效播放器功能

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

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

相关 API 请参考 createAudioEffectPlayer, destroyAudioEffectPlayer

问题修复

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

相关 API 请参考 onRoomStreamExtraInfoUpdate

2020.09.17 Version: 1.15.2

问题修复

1. 修复用户进出房间回调接口 (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

  1. 修复通过 ZegoVideoConfigPreset 的 720P 枚举值得到的编码分辨率 Height 有误的问题。
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. 修复当登录房间失败后立即重新登录房间时,可能会抛出预期外的 超过最大房间登录数量 错误码的问题。

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

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

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 可能不回调的问题。

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

2020.07.15 Version: 1.11.0

新增功能

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

改进优化

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

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

问题修复

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

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

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. Android 的 getCustomVideoCaptureSurfaceTexture 新增重载参数,支持选择 ZegoPublishChannel

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

改进优化

1. 增加新错误码 1001011

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

2020.06.28 Version: 1.9.3

问题修复

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

问题修复

  1. 修复混流声浪 onMixerSoundLevelUpdate 回调的问题。
2020.06.17 Version: 1.9.1

问题修复

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

新增功能

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

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

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

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

问题修复

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

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

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

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

废弃删除

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

问题修复

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

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

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

2020.05.31 Version: 1.8.0

新增功能

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

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

问题修复

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

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

2020.05.18 Version: 1.7.9

问题修复

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

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

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

2020.05.15 Version: 1.7.5

新增功能

1. 新增错误码 1000008

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

问题修复

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

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

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

2020.04.30 Version: 1.7.0

新增功能

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

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

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

问题修复

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

新增功能

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

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

改进优化

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

问题修复

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

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

2020.04.05 Version: 1.5.6

问题修复

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

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

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

2020.03.31 Version: 1.5.5

改进优化

  1. 优化 API 注释。
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. 首次发布,包含系统、房间、推流、拉流、前处理、设备模块。