声网教育专版是基于声网 RTC SDK v2.9.0 开发、专为教育行业用户而量身打磨的高稳定性 SDK。
本页包含声网教育专版 SDK (Windows) 的下载地址和发版说明。
该版本于 2020 年 10 月 14 日发布。
该版本修改了 Mute 相关的默认行为,影响以下 API:
方法 | 描述 |
---|---|
muteAllRemoteAudioStreams
|
设置是否订阅所有音频或视频流。 |
setDefaultMuteAllRemoteAudioStreams
|
设置是否订阅调用时刻之后加入频道的用户的音频或视频流。 |
muteRemoteAudioStream
|
设置是否订阅指定用户的音频或视频流。 |
具体变更点请参考下表:
版本 | 行为 |
---|---|
2.9.0.107 之前版本 | muteAll 方法作为总开关,setDefaultMute 或 muteRemote 方法作为子开关,详见下图。
|
2.9.0.107 及之后版本 | muteAll 不再作为总开关,每个 Mute 相关的方法都能独立控制用户的订阅状态。后调用的方法会覆盖先调用的方法。请注意,muteAll 方法设置是否订阅所有音频或视频流,包含调用时刻之后加入频道的用户的音频或视频流,即 muteAll 包含了 setDefaultMute 的功能。声网不推荐一起调用 muteAll 和 setDefaultMute ,否则设置可能会不生效。 |
该版本新增以下 API,支持在客户端录制本地采集的音频和频道内远端用户的音频:
startAudioRecording
方法:开始客户端录制。AudioRecordingConfiguration
结构体:用于在调用 startAudioRecording
时,设置 filePath
(录制文件的输出路径)、recordingQuality
(录制音质)和 recordingPosition
(录制音源,即只录制本地音频、只录制远端音频、同时录制本地音频和远端音频)。AUDIO_RECORDING_POSITION
枚举类型,包含以下类成员:AUDIO_RECORDING_POSITION_MIXED_RECORDING_AND_PLAYBACK
: 录制本地和远端的音频。AUDIO_RECORDING_POSITION_RECORDING
: 录制本地采集的音频。AUDIO_RECORDING_POSITION_MIXED_PLAYBACK
: 录制远端用户的音频。该版本提升了性能,降低了 CPU 占用。
onAudioMixingFinished
回调的问题。rtcChannel
导致 mute 逻辑失效的问题。enumerateVideoDevices
方法无法获取到视频设备的问题。该版本于 2020 年 7 月 14 日发布。
该版本中,声网 SDK 日志文件的默认个数由 2 个增加至 5 个,单个日志文件的默认大小由 512 KB 扩大至 1024 KB。默认情况下,SDK 会生成 agorasdk.log
、agorasdk_1.log
、agorasdk_2.log
、agorasdk_3.log
、agorasdk_4.log
这 5 个日志文件。最新的日志永远写在 agorasdk.log
中。agorasdk.log
写满后,SDK 会从 1-4 中删除修改时间最早的一个文件,然后将 agorasdk.log
重命名为该文件,并建立新的 agorasdk.log
写入最新的日志。
该版本对 onAudioPublishStateChange
、onVideoPublishStateChange
、onAudioSubscribeStateChange
和 onVideoSubscribeStateChange
这四个回调中的参数名进行了以下变更:
oldstate
参数变更为 oldState
,表示之前的发布状态。newstate
参数变更为 newState
,表示当前的发布状态。elapse
参数变更为 elapseSinceLastState
,表示两次状态变化的时间间隔(毫秒)。该版本新增以下 C++ 接口用于提供本端编码后的 H.264 格式视频流:
IMediaEngine
类中新增 registerVideoEncodedImageReceiver
方法。IVideoEncodedImageReceiver
类,包含 OnEncodedVideoImageReceived
回调。你可先实现 IVideoEncodedImageReceiver
类,实现该类中的 OnEncodedVideoImageReceived
回调,然后再调用 registerVideoEncodedImageReceiver
方法注册编码后视频帧接收器。SDK 会在捕捉到每个视频帧时,触发 OnEncodedVideoImageReceived
回调。
该版本改进了调用 setRemoteUserPriority
方法将老师设为高优先级时的内部算法,进一步降低老师端的卡顿率,确保在学生端和老师端的流中,老师端的流优先;在老师端的音频流和视频流中,音频流优先。
该版本修复了以下问题:
enableLoopbackRecording
开启声卡采集后出现回声。该版本于 2020 年 6 月 2 日发布。
该版本新增支持 RGBA 格式的视频原始数据。你可以通过新增的 C++ 接口 getVideoFormatPreference
,设置想要获取的视频原始数据的格式。
在多频道场景下,为方便后处理各频道的远端音视频数据,该版本新增如下 C++ 接口:
IAudioFrameObserver
类中新增 isMultipleChannelFrameWanted
和 onPlaybackAudioFrameBeforeMixingEx
。IVideoFrameObserver
类中新增 isMultipleChannelFrameWanted
和 onRenderVideoFrameEx
。成功注册音频或视频观测器后,如果你将 isMultipleChannelFrameWanted
的返回值设为 true
,就可以通过上述回调获取多个频道对应的音频、视频数据。在多频道场景下,我们建议你将返回值设为 true
。
该版本在 LocalVideoStats
类、RemoteAudioStats
类和 RemoteVideoStats
类中新增以下成员,提供更多音视频质量相关数据。
LocalVideoStats
类中新增 captureFrameRate
,报告本地视频采集帧率。RemoteAudioStats
类中新增 publishDuration
,报告远端用户成功发布音频流到触发该回调的时长,单位为毫秒。RemoteVideoStats
类中新增 publishDuration
,报告远端用户成功发布视频流到触发该回调的时长,单位为毫秒。该版本新增以下回调用于提示发布和订阅状态的改变,有助于订阅和发布相关的数据统计:
onAudioPublishStateChange
: 音频发布状态发生改变。onVideoPublishStateChange
: 视频发布状态发生改变。onAudioSubscribeStateChange
: 音频订阅状态发生改变。onVideoSubscribeStateChange
: 视频订阅状态发生改变。发布状态包括初始状态 PUB_STATE_IDLE(0)
、未发布 PUB_STATE_NO_PUBLISHED(1)
、正在发布 PUB_STATE_PUBLISHING(2)
和已发布 PUB_STATE_PUBLISHED(3)
。
订阅状态包括初始状态 SUB_STATE_IDLE(0)
、未订阅 SUB_STATE_NO_SUBSCRIBED(1)
、正在订阅 SUB_STATE_SUBSCRIBING(2)
和已订阅 SUB_STATE_SUBSCRIBED(3)
。
该版本修复了以下问题。
startAudioMixing
播放音乐文件 URL 超出 256 个字节会发生 crash。该版本于 2020 年 4 月 20 日发布,修复了以下问题。
该版本于 2020 年 3 月 25 日发布,新增特性、性能改进和问题修复如下。
v2.9.0.103 在启用说话者音量提示 enableAudioVolumeIndication
方法中新增 bool 型的 report_vad
参数用于本地人声检测。开启本地人声检测后,你可以在 onAudioVolumeIndication
回调报告的 AudioVolumeInfo
结构体中判断本地用户(uid
为 0)是否说话。
提升了直播场景中的音频质量。
改进了音频采集设备选择策略。有多个音频采集设备时,SDK 能自动选择可用设备。
在 onLocalAudioStateChanged
和 onLocalVideoStateChanged
回调中新增以下错误类型,改进 SDK 易用性:
LOCAL_AUDIO_STREAM_ERROR
中新增 LOCAL_AUDIO_STREAM_ERROR_NO_RECORDING_DEVICE = 6
和 LOCAL_AUDIO_STREAM_ERROR_NO_PLAYOUT_DEVICE = 7
,分别表示没有可用的音频采集设备和音频播放设备。LOCAL_VIDEO_STREAM_ERROR
中新增 LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND = 6
,表示没有可用的视频采集设备。优化了后台数据上报,提高数据统计精确性。
支持日志文件路径为中文路径。
onLocalVideoStateChanged
回调触发不正确的问题。startAudioMixing
循环播放在线音乐文件时出现的掉字问题。该版本于 2020 年 2 月 16 日发布,新增特性、性能改进和问题修复如下。
v2.9.0.102 新增以下接口用于管理音效:
getEffectCurrentPosition
方法:查询当前播放位置。setEffectPosition
方法:设置音效播放位置。getEffectDuration
方法:获取音效时长。此外,v2.9.0.102 在 playEffect
方法中新增 startPos
参数,用于设置音效开始播放的位置,单位为毫秒。
具体使用方法可参考头文件中的 API 注释。
为提升视频镜像的使用体验,v2.9.0.102 新增视频编码镜像功能。你可在调用 setVideoEncoderConfiguration
方法设置视频编码配置时,通过 VideoEncoderConfiguration
中的 mirrorMode
参数设置编码前视频帧是否进行镜像处理。
onLocalVideoStateChanged
回调报告信息不准确的问题。该版本于 2020 年 1 月 3 日发布,新增特性、改进和修复问题如下。
为方便开发者获取传输各阶段的视频原始数据,满足更多场景需求,该版本在 IVideoFrameObserver
类中新增以下 C++ 回调接口:
onPreEncodeVideoFrame
回调:获取前处理后、编码前的本地视频原始数据。getObservedFramePosition
回调:设置需要监测的视频回调位置,默认本地采集后与远端渲染前两个回调位置。具体使用方法可参考头文件中的 API 注释。
该版本于 2019 年 10 月 22 日发布,新增特性如下。
本节介绍 SDK 升级至 v2.9.0.100 后,可能会影响兼容性问题的重要 API 变更。
1. 旁路推流
v2.9.0.100 删除如下接口:
configPublisher
setVideoCompositingLayout
clearVideoCompositingLayout
原有的 onStreamPublished
和 onStreamUnpublished
回调仍可以使用,但我们不再推荐。
如果你的 App 使用上述接口实现旁路推流功能,请确保将 SDK 升级至 v2.9.0.100 后改用如下接口实现推流:
setLiveTranscoding
addPublishStreamUrl
removePublishStreamUrl
onTranscodingUpdated
onRtmpStreamingStateChanged
新的推流实现方法,请参考进阶功能旁路推流。
此外,v2.9.0.100 在 LiveTranscoding
类中新增 audioCodecProfile
参数,支持设置用于旁路推流的输出视频的编码规格。默认规格为 LC-AAC。
同时,为提高推流服务的易用性,v2.9.0.100 对推流接口的参数设置进行了如下限制:
类/接口 | 参数限制 |
---|---|
LiveTranscoding 类 |
width 和 height :设置转码推流的视频分辨率。width x height 的最小值不低于 16 x 16 videoFrameRate :设置转码推流的帧率,单位为 fps,取值范围为 [0, 30],默认值为 15。如果设值超过 30,声网服务端会自动调整为 30videoBitrate :设置转码推流的码率,单位为 Kbps,默认值为 400。用户可以根据 Video Profile 参考表中的码率值进行设置。如果设置的码率超出合理范围,服务端会在合理区间内对码率值进行自适应 videoCodecProfile :设置转码推流的视频编码规格,可设为 BASELINE、MAIN 或 HIGH。若设为其他值,服务端会改为默认值 HIGH |
RtcImage 类 |
url :字符长度不得超过 1024 字节 |
addPublishStreamUrl |
url :字符长度不得超过 1024 字节 |
removePublishStreamUrl |
url :字符长度不得超过 1024 字节 |
2. 远端视频状态
v2.9.0.100 删除 onRemoteVideoStateChanged
接口,并使用一个新的同名接口进行取代,以便用户详细了解远端视频状态。因此,将 SDK 升级至 v2.9.0.100 后,需重新实现 onRemoteVideoStateChanged
接口。
当远端用户/主播视频的状态发生变化时,SDK 会触发 onRemoteVideoStateChanged
回调向本地用户报告该 UID 当前的远端视频流状态 state
,包括初始状态 STOPED(0)
、本地用户已接收远端视频首包 STARTING(1)
、正在解码 DECODING(2)
、卡顿 FROZEN(3)
和播放失败 FAILED(4)
。你可以在 reason
参数中了解引起远端视频流状态发生改变的原因。
state
参数和 reason
参数搭配使用,可以涵盖大部分远端视频状态,因此 v2.9.0.100 废弃了如下接口,你可以继续使用,但我们不再推荐:
onUserEnableVideo
onUserEnableLocalVideo
onFirstRemoteVideoDecoded
3. RemoteVideoStats 类参数更名
v2.9.0.100 将 RemoteVideoStats 类中的 receivedFrameRate
参数更名为 rendererOutputFrameRate
,从而更精准地表达远端视频流的统计信息。
本节介绍 v2.9.0.100 新增的功能。
1. 频道管理
1.1 支持多频道
v2.9.0.100 新增以下接口,支持用户同时加入多个频道(频道数量无限制):
IRtcEngine2
类 createChannel
方法,通过一个 channelId
创建一个 IChannel
对象。IChannel
类,包含多个频道相关方法。VideoCanvas
结构体新增 channelId
参数。加入多频道后,用户可同时订阅多个频道内的音视频流,并灵活控制各频道内的音视频流状态,但只能将本地的音视频流发布至其中一个频道。
具体实现方法、注意事项和 API 说明详见加入多频道。
1.2 网络连接失败原因梳理
该版本梳理并整合了网络连接相关的错误码,在原有 onConnectionStateChanged
回调的 reason
参数中新增九个导致网络连接失败的原因,以便开发者更好地排查网络连接相关故障。详情请查看 API 注释。
1.3 快速切换直播频道
v2.9.0.100 新增 switchChannel
方法,方便直播频道中的观众用户快速切换到其他频道。调用 switchChannel
方法切换到其他直播频道后,本地会先收到离开原频道的回调 onLeaveChannel
,再收到成功加入新频道的回调 onJoinChannelSuccess
。具体实现方法请参考进阶功能快速切换直播频道。
1.4 本地网络连接类型回调
v2.9.0.100 新增 onNetworkTypeChanged
回调。当网络连接短暂中断时,该回调报告当前的网络类型,帮助开发者判断引起中断的原因是网络切换还是网络条件不好。
1.5 摄像头热插拔
v2.9.0.100 在 RtcEngineContext
类中新增 context
成员支持摄像头设备热插拔,并实现如下改进:
2. 音频管理
2.1 获取播放伴奏音量
v2.9.0.100 新增 getAudioMixingPlayoutVolume
和 getAudioMixingPublishVolume
方法分别获取音乐文件在本地和远端的播放音量,以便开发者排查音量相关问题。
此外,v2.9.0.100 新增 onAudioMixingStateChanged 回调。
调用 startAudioMixing
播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调,报告当前的音乐文件播放状态,提示播放出错的原因。同时新增一个警告码 701,当播放音乐文件时,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL 时,均会触发该警告码。
2.2 变声和混响
v2.9.0.100 在原有音效设置接口的基础上,新增 setLocalVoiceChanger
和 setLocalVoiceReverbPreset
方法。你无需自行设置音效参数,可直接选择实现我们预置的变声和混响效果。具体实现方法和注意事项请参考进阶功能变声与混响。
2.3 听声辨位
v2.9.0.100 新增 enableSoundPositionIndication
和 setRemoteVoicePosition
方法,支持本地用户听声辨位。该功能适用于多人在线游戏场景,如射击游戏中,可增加游戏角色的方位感,模拟真实场景。用户需要在加入频道前调用 enableSoundPositionIndication
开启远端用户的语音立体声。然后在 setRemoteVoicePosition
中设置远端用户声音出现的位置,通过左右耳听到的声音差异,对远端用户的声音产生方位感。
2.4 精确回调远端音频首帧解码
为更精准地获取远端用户的出声时间,v2.9.0.100 新增 onFirstRemoteAudioDecoded
回调,用以向 App 层报告 SDK 已完成远端音频首帧解码。在远端用户加入频道后首次发送音频,或远端用户 15 秒不发音频后再次发送时,该回调均会被触发。该回调与 onFirstRemoteAudioFrame
的区别在于,onFirstRemoteAudioFrame
在收到首个音频包时触发,先于 onFirstRemoteAudioDecoded
。
3. 视频管理
3.1 高级屏幕共享
v2.9.0.100 升级了原有的屏幕共享功能,新增如下方法:
startScreenCaptureByScreenRect:
多屏环境下共享指定屏幕或屏幕内的部分区域startScreenCaptureByWindowId:
共享指定窗口或窗口内的部分区域setScreenCaptureContentHint:
根据屏幕共享的内容类型设置运动优先或细节优先updateScreenCaptureParameters:
单独设置屏幕共享的分辨率、帧率和码率v2.9.0.100 废弃了原有的 startScreenCapture
接口。声网推荐你使用新接口实现屏幕共享。
新接口中,用户需要在代码中设计获取 screenRect
和 windowId
的代码逻辑,详情请查看 API 注释以及参考进阶功能屏幕共享。
3.2 视频偏好设置
一般场景下,声网默认的视频编码配置能满足需求。对于特定场景,v2.9.0.100 提供如下功能让用户选择视频偏好:
VideoEncoderConfiguration
类中新增 2 个参数 degradationPrefer
和 minFrameRate
,分别用于设置带宽受限时编码帧率的偏好和最低视频编码帧率。这两个参数需要搭配使用,详情请参考设置视频编码。setCameraCapturerConfiguration
,通过设置摄像头采集偏好,用户可以根据实际场景选择优先保证设备性能还是视频质量。具体场景及参数选择,请查看 API 注释。4. 高级媒体流管理
4.1 跨频道媒体流转发
v2.9.0.100 新增以下接口,将一个频道中主播的媒体流转发至其他直播频道(最多可转发至四个频道),实现主播跨频道与其他主播进行实时互动:
startChannelMediaRelay
updateChannelMediaRelay
stopChannelMediaRelay
在跨频道媒体流转发过程中,SDK 会通过 onChannelMediaRelayStateChanged
和 onChannelMediaRelayEvent
回调报告媒体流转发的状态和事件。
该场景的实现方法、API 调用时序、示例代码及开发注意事项,请查看 API 注释以及参考进阶功能跨直播间连麦。
4.2 添加媒体附属信息
v2.9.0.100 新增 registerMediaMetadataObserver
接口以及 IMediaMetadataObserver
类,用于发送媒体附属信息。
直播场景中,在加入频道前调用 registerMediaMetadataObserver
方法注册媒体 metadata 观测器用于接收或发送 metadata。
主播在发出的视频帧中添加 Metadata,给观众分发商品链接、优惠券、在线答题等信息,构建更为丰富的直播互动方式。
4.3 设置用户媒体流优先级
v2.9.0.100 新增接口 setRemoteUserPriority
用于设置远端用户的优先级。该方法可以与 setRemoteSubscribeFallbackOption
搭配使用。如果开启了订阅流回退选项,弱网下 SDK 会优先保证高优先级用户收到的流的质量。
5. 体验提升
5.1 本地通话统计信息报告
v2.9.0.100 进一步扩充了 onRtcStats
回调中 RtcStats
类成员,增加下列参数:
txAudioBytes/rxAudioBytes
:累计发送/接收音频字节数(bytes)。txVideoBytes/rxVideoBytes
:累计发送/接收视频字节数(bytes)。gatewayRtt
:客户端到路由器的网络往返时延(毫秒)。更多内容和注意事项请查看 API 注释。
5.2 音视频质量报告
v2.9.0.100 新增 onLocalAudioStats
回调,通过 numChannels
(声道数)、sentSampleRate
(发送音频的采样率)、sentBitrate
(发送音频的码率) 参数报告本地音频统计信息。
与此同时,v2.9.0.100 进一步扩充了 LocalVideoStats
类、RemoteVideoStats
类和 RemoteAudioStats
类的成员,提供更多音视频质量相关数据。详情请查看 API 注释。
5.3 语音通话回路测试
v2.9.0.100 在原有的 startEchoTest
方法(用于测试系统的音频设备和网络连接是否正常)中新增参数 intervalInSeconds
,设置返回测试结果的时间间隔。
6. 其他功能
6.1 设置日志文件大小
声网 SDK 有 2 个日志文件,每个文件默认大小为 512 KB。为解决该大小无法满足部分用户需求的问题,v2.9.0.100 新增接口 setLogFileSize
,用于设置 SDK 输出的日志文件大小。
该版本于 2019 年 12 月 9 日发布,新增特性和修复问题如下。
新增特性
v2.3.4.108 在 RemoteAudioStats
和 RemoteVideoStats
结构体中均新增以下参数:
totalFrozenTime
参数:报告远端用户在加入频道后音频/视频的卡顿累计时长(ms)。frozenRate
参数,报告卡顿累计时长占总有效时长的百分比 (%)。声网卡顿累计时长的统计机制如下:
问题修复
onLocalVideoStateChanged
回调报告信息不准确的问题。该版本于 2019 年 9 月 26 日发布。新增特性、改进和修复问题详见下文。
新增特性
v2.3.4.104 新增 startAudioDeviceLoopbackTest
和 stopAudioDeviceLoopbackTest
方法,用于进行音频设备回路测试。
在加入频道前调用 startAudioDeviceLoopbackTest
方法检查音频采集设备(麦克风)和音频播放设备(扬声器)是否能正常工作。测试开始后,麦克风会采集本地讲话声音,然后使用扬声器播放出来。同时 SDK 会按照 indicationInterval
参数设置的时间间隔(建议设置为大于 200 毫秒)通过 onAudioVolumeIndication
回调向 App 上报音量信息。
startAudioDeviceLoopbackTest
方法仅在本地进行音频设备测试,不涉及网络连接。测试完成后,必须调用 stopAudioDeviceLoopbackTest
方法停止音频设备回路测试。
更多内容和注意事项请点击各方法名查看 API 注释。
v2.3.4.104 新增以下回调,方便用户了解本地及远端的音视频流状态:
onLocalAudioStateChanged
:当本地音频的状态(包括本地音频采集和编码状态)发生变化时, SDK 会触发该回调报告当前的本地音频流状态 state
,包括初始状态 STOPPED(0)
、音频采集设备启动成功 RECORDING(1)
、音频首帧编码成功 ENCODING(2)
和音频启动失败 FAILED(3)
。state
为 FAILED(3)
时,你可以通过 error
参数中报告的错误码定位和排查问题。onLocalVideoStateChanged
:当本地视频的状态(包括本地视频采集和编码状态)发生变化时,SDK 会触发该回调报告当前的本地视频流状态 state
,包括初始状态 STOPPED(0)、视频采集设备启动成功CAPTURING(1)、视频首帧编码成功 ENCODING(2) 和视频启动失败 FAILED(3)。state
为 FAILED(3)
时,你可以通过 error
参数中报告的错误码定位和排查问题。onRemoteAudioStateChanged
:当远端用户/主播音频的状态发生变化时,SDK 会触发该回调向本地用户报告该 UID 当前的远端音频流状态 state
,包括初始状态 STOPED(0)
、本地用户已接收远端音频首包 STARTING(1)
、正在解码 DECODING(2)
、卡顿 FROZEN(3)
和播放失败 FAILED(4)
。你可以在 reason
参数中了解引起远端音频流状态发生改变的原因。onRemoteVideoStateChanged
:当远端用户/主播视频的状态发生变化时,SDK 会触发该回调向本地用户报告当前的远端视频流状态 state
:正常播放 RUNNING(1)
和视频卡住 FROZEN(2)
。更多内容和注意事项请点击各方法名查看 API 注释。
v2.3.4.104 新增 startLastmileProbeTest
和 stopLastmileProbeTest
方法,用于进行网络质量探测,帮助用户判断或预测当前的网络状况是否能够实现期望的最高发送码率或接收码率。
startLastmileProbeTest
方法主要用于以下两种场景:
开始网络质量探测后,SDK 会依次触发如下 2 个回调:
onLastmileQuality
,视网络情况约 2 秒内触发。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。onLastmileProbeResult
,视网络情况约 30 秒内触发。该回调反馈上下行网络的带宽、丢包、网络抖动和往返时延等具体数据,更为客观。测试完成后,必须调用 stopLastmileProbeTest
方法停止网络质量探测。
更多内容和注意事项请点击各方法名查看 API 注释,或者参考通话前检测网络质量。
v2.3.4.104 进一步扩充了 onRtcStats
回调中 RtcStats
类成员,增加下列参数:
txPacketLossRate
:使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)rxPacketLossRate
:使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)memoryAppUsageRatio
:当前 App 的内存占比 (%)memoryTotalUsageRatio
:当前系统的内存占比 (%)memoryAppUsageInKbytes
:当前 App 的内存大小 (KB)更多内容和注意事项请点击各方法名查看 API 注释。
改进
为改善用户体验,v2.3.4.104 完成如下改进:
问题修复
v2.3.4.104 修复了以下问题:
该版本于 2019 年 8 月 1 日发布。新增特性与修复问题详见下文。
新增特性
v2.3.4.100 在 initialize
方法 RtcEngineContext
类中新增 context
成员,通过设置视频窗口句柄来支持设备热插拔。
v2.3.4.100 在 onRtcStats
回调 RtcStats
类中新增 gatewayRtt
参数,实时反馈客户端到路由器的网络往返时延,指示网络信号强弱。该值越小,表示网络状态越好。
问题修复
v2.3.4.100 的问题修复如下:
playEffect
方法的部分偶现问题。该版本于 2019 年 5 月发布,修复问题如下: