通过阅读本文,您可以了解Windows SDK的DingRtcEngineEventListener回调及监听接口详情。
接口说明
目录
视频数据回调及监听
API |
描述 |
支持的最低版本 |
视频格式采集偏好。 |
3.0 |
|
本地采集视频数据。 |
3.0 |
|
远端解码后视频数据。 |
3.1 |
|
本地编码前视频数据。 |
3.1 |
回调及监听
API |
描述 |
支持的最低版本 |
加入频道结果。 |
3.0 |
|
离开频道结果。 |
3.0 |
|
频道剩余时长回调。 |
3.0 |
|
远端用户加入频道回调。 |
3.0 |
|
远端用户离开频道回调。 |
3.0 |
|
被服务器踢出频道的消息。 |
3.0 |
|
网络连接状态改变的回调。 |
3.0 |
|
网络质量变化时发出的消息。 |
3.0 |
|
埋点log。 |
3.0 |
|
如果engine出现warning,通过这个消息通知app。 |
3.0 |
|
如果engine出现error,通过这个消息通知app。 |
3.0 |
|
埋点log。 |
3.0 |
|
质量报告,相对OnLocalAudioStats,OnRemoteVideoStats更加简练,适合在UI上展示。 |
3.0 |
|
本地音频统计信息。 |
3.0 |
|
本地视频统计信息。 |
3.0 |
|
远端音频统计信息。 |
3.0 |
|
远端视频统计信息。 |
3.0 |
|
当前会话统计信息回调。 |
3.0 |
|
音频推流变更回调。 |
3.0 |
|
视频推流变更回调。 |
3.0 |
|
屏幕分享推流变更回调。 |
3.0 |
|
远端用户的音视频流发生变化回调。 |
3.0 |
|
远端用户静音/取消静音回调。 |
3.0 |
|
远端用户暂停/恢复视频流发送的通知。 |
3.0 |
|
远端用户的第一帧视频帧显示时触发这个消息。 |
3.0 |
|
预览开始显示第一帧视频帧时触发这个消息。 |
3.0 |
|
视频首包发送回调。 |
3.0 |
|
视频首包接收回调。 |
3.0 |
|
收到远端用户视频首帧的回调。 |
3.0 |
|
音频首包发送回调。 |
3.0 |
|
音频首包接收回调。 |
3.0 |
|
视频渲染接收到远端视频分辨率有变化时触发此回调。 |
3.2.1 |
|
视频渲染接收到本地视频分辨率有变化时触发此回调。 |
3.2.1 |
|
音频订阅情况变更回调。 |
3.0 |
|
相机流订阅情况变更回调。 |
3.0 |
|
屏幕分享流订阅情况变更回调。 |
3.0 |
|
不同档次视频订阅情况变更回调。 |
3.0 |
|
音频采集设备音量回调。 |
3.0 |
|
音频播放设备音量回调。 |
3.0 |
|
音频设备状态变更。 |
3.0 |
|
API方法已执行回调。 |
3.0 |
|
视频截图回调。 |
3.0 |
|
伴奏混音回调。 |
3.4 |
接口详情
-
GetVideoFormatPreference:视频格式采集偏好。
RtcEngineVideoPixelFormat GetVideoFormatPreference ()=0
-
OnCaptureVideoFrame:本地采集视频数据。
bool OnCaptureVideoFrame (RtcEngineVideoFrame &frame)=0
-
OnRemoteVideoFrame:远端解码后视频数据。
bool OnRemoteVideoFrame (String uid, RtcEngineVideoTrack track, RtcEngineVideoFrame &frame)=0
-
OnPreEncodeVideoFrame:本地编码前视频数据。
bool OnPreEncodeVideoFrame (RtcEngineVideoTrack track, RtcEngineVideoFrame &frame)=0
-
OnJoinChannelResult:加入频道结果。
void OnJoinChannelResult (int result, const char *channel, const char *userId, int elapsed)
当应用调用JoinChannel方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时。
参数
类型
描述
result
int
加入频道结果,成功返回0,失败返回错误码。
channel
const char *
频道id。
userId
const char *
用户ID。
elapsed
int
加入频道耗时。
-
OnLeaveChannelResult:离开频道结果。
void OnLeaveChannelResult (int result, RtcEngineStats stats)
应用调用LeaveChannel方法时,该回调表示成功/失败离开频道,回调将会返回离会的result和该频道的基本信息,如果LeaveChannel后直接DestroySDK,将不会收到此回调。
参数
类型
描述
result
int
离开频道结果,成功返回0,失败返回错误码。
stats
本次频道内会话的数据统计汇总。
-
OnChannelRemainingTimeNotify:频道剩余时长回调。
void OnChannelRemainingTimeNotify (int remainingTimeInSec)
参数
类型
描述
remainingTimeInSec
int
频道剩余时长,单位秒。
-
OnRemoteUserOnLineNotify:远端用户加入频道回调。
void OnRemoteUserOnLineNotify (const char *uid, int elapsed)
参数
类型
描述
uid
const char *
用户ID从Appserver分配的唯一标示符。
elapsed
int
用户加入频道时的耗时。
-
OnRemoteUserOffLineNotify:远端用户离开频道回调。
void OnRemoteUserOffLineNotify (const char *uid, RtcEngineUserOfflineReason reason)
参数
类型
描述
uid
const char *
用户ID从Appserver分配的唯一标示符。
reason
用户离线的原因,详见RtcEngineUserOfflineReason。
-
OnBye:被服务器踢出频道的消息。
void OnBye (RtcEngineOnByeType code)
参数
类型
描述
code
RtcEngineOnByeType
onBye类型,详见RtcEngineOnByeType。
-
OnConnectionStatusChanged:网络连接状态改变的回调。
void OnConnectionStatusChanged (RtcEngineConnectionStatus status, RtcEngineConnectionStatusChangeReason reason)
参数
类型
描述
status
当前网络链接状态。
reason
网络链接状态改变原因。
-
OnNetworkQualityChanged:网络质量变化时发出的消息。
void OnNetworkQualityChanged (const char *uid, RtcEngineNetworkQuality upQuality, RtcEngineNetworkQuality downQuality)
参数
类型
描述
uid
const char *
网络质量发生变化的用户uid。
upQuality
上行网络质量,详见RtcEngineNetworkQuality。
downQuality
下行网络质量,详见RtcEngineNetworkQuality。
重要当网络质量发生变化时触发,uid为空时代表用户自己的网络质量发生变化。
-
OnStatisticsLog:埋点log。
void OnStatisticsLog (String const &log)
参数
类型
描述
log
String const &
埋点统计信息。
重要用处不大,将来版本移除。
-
OnOccurWarning:如果engine出现warning,通过这个消息通知app。
void OnOccurWarning (int warn, const char *msg)
参数
类型
描述
warn
int
警告类型。
msg
const char *
警告信息。
-
OnOccurError:如果engine出现error,通过这个消息通知app。
void OnOccurError (int error, const char *msg)
参数
类型
描述
error
int
错误类型,参考RtcEngineErrorCode。
msg
const char *
错误描述。
-
OnStatisticsLevelLog:埋点log。
void OnStatisticsLevelLog (int level, const String &log)
参数
类型
描述
level
int
日志等级。
log
const String &
埋点统计信息。
重要用处不大,将来版本移除。
-
OnQualityReport:质量报告,相对OnLocalAudioStats,OnRemoteVideoStats更加简练,适合在UI上展示。
void OnQualityReport (const QualityReport &quality)
参数
类型
描述
quality
QualityReport &
采集到的各项指标数据。
-
OnLocalAudioStats:本地音频统计信息。
void OnLocalAudioStats (const LocalAudioStats &localAudioStats)
参数
类型
描述
localAudioStats
LocalAudioStats &
本地音频统计信息。
重要SDK周期触发一次此统计信息回调。
-
OnLocalVideoStats:本地视频统计信息。
void OnLocalVideoStats (const LocalVideoStats &localVideoStats)
参数
类型
描述
localVideoStats
LocalVideoStats &
本地视频统计信息。
重要SDK周期触发一次此统计信息回调。
-
OnRemoteAudioStats:远端音频统计信息。
void OnRemoteAudioStats (const RemoteAudioStats &remoteAudioStats)
参数
类型
描述
remoteAudioStats
RemoteAudioStats &
远端音频统计信息。
重要SDK周期触发一次此统计信息回调。
-
OnRemoteVideoStats:远端视频统计信息。
void OnRemoteVideoStats (const RemoteVideoStats &remoteVideoStats)
参数
类型
描述
remoteVideoStats
RemoteVideoStats &
远端视频统计信息。
重要SDK周期触发一次此统计信息回调。
-
OnStats:当前会话统计信息回调。
void OnStats (const RtcEngineStats &stats)
参数
类型
描述
stats
RtcEngineStats &
会话统计信息。
重要SDK周期触发一次此统计信息回调。
-
OnAudioPublishStateChanged:音频推流变更回调。
void OnAudioPublishStateChanged (RtcEnginePublishState oldState, RtcEnginePublishState newState, int elapseSinceLastState, const char *channel)
参数
类型
描述
oldState
之前的推流状态。
newState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔。
channel
const char *
当前频道id。
-
OnVideoPublishStateChanged:视频推流变更回调。
void OnVideoPublishStateChanged (RtcEnginePublishState oldState, RtcEnginePublishState newState, int elapseSinceLastState, const char *channel)
参数
类型
描述
oldState
之前的推流状态。
newState
当前的推流状态。
elapseSinceLastState
int
状态变更时间间隔。
channel
const char *
当前频道id。
-
OnRemoteTrackAvailableNotify:远端用户的音视频流发生变化回调。
void OnRemoteTrackAvailableNotify (const char *uid, RtcEngineAudioTrack audioTrack, RtcEngineVideoTrack videoTrack)
该回调在以下场景会被触发:
参数
类型
描述
uid
const char *
userId,从Appserver分配的唯一标示符。
audioTrack
音频流类型,详见RtcEngineAudioTrack。
videoTrack
视频流类型,详见RtcEngineVideoTrack。
-
OnUserAudioMuted:远端用户静音/取消静音回调。
void OnUserAudioMuted (const char *uid, bool isMute)
参数
类型
描述
uid
const char *
远端用户ID。
isMute
bool
该用户是否静音。
true:静音。
false:取消静音。
-
OnUserVideoMuted:远端用户暂停/恢复视频流发送的通知。
void OnUserVideoMuted (const char *uid, bool isMute, RtcEngineVideoTrack videoTrack)
参数
类型
描述
uid
const char *
远端用户ID。
isMute
bool
true:该用户暂停视频流的发送。
false:该用户恢复视频流的发送。
videoTrack
屏幕流或者相机流,参考RtcEngineVideoTrack。
-
OnFirstRemoteVideoFrameDrawn:远端用户的第一帧视频帧显示时触发这个消息。
void OnFirstRemoteVideoFrameDrawn (const char *uid, RtcEngineVideoTrack videoTrack, int width, int height, int elapsed)
参数
类型
描述
uid
const char *
userid。
videoTrack
屏幕流或者相机流,参考RtcEngineVideoTrack。
width
int
视频宽度。
height
int
视频高度。
elapsed
int
本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于远端用户的第一帧视频帧显示时的回调。
-
OnFirstLocalVideoFrameDrawn:预览开始显示第一帧视频帧时触发这个消息。
void OnFirstLocalVideoFrameDrawn (int width, int height, int elapsed)
参数
类型
描述
width
int
本地预览视频宽度。
height
int
本地预览视频高度。
elapsed
int
从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于预览开始显示第一帧视频帧时的回调。
-
OnFirstVideoPacketSend:视频首包发送回调。
void OnFirstVideoPacketSend (RtcEngineVideoTrack videoTrack, int timeCost)
参数
类型
描述
videoTrack
发送视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包发送的回调。
-
OnFirstVideoPacketReceived:视频首包接收回调。
void OnFirstVideoPacketReceived (const char *uid, RtcEngineVideoTrack videoTrack, int timeCost)
参数
类型
描述
uid
const char *
UserID,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包接收的回调。
-
OnFirstVideoFrameReceived:收到远端用户视频首帧的回调。
void OnFirstVideoFrameReceived (const char *uid, RtcEngineVideoTrack videoTrack, int timeCost)
参数
类型
描述
uid
const char *
UserID,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
timeCost
int
耗时(毫秒)。
重要该接口用于收到远端用户视频首帧的回调。
-
OnFirstAudioPacketSend:音频首包发送回调。
void OnFirstAudioPacketSend (int timeCost)
在首个音频数据包发送出去时触发此回调。
参数
类型
描述
timeCost
int
发送耗时,从入会开始到音频首包发送出去的耗时。
-
OnFirstAudioPacketReceived:音频首包接收回调。
void OnFirstAudioPacketReceived (const char *uid, int timeCost)
在接收到远端首个音频数据包时触发此回调。
参数
类型
描述
uid
const char *
远端用户ID,从Appserver分配的唯一标识符。
timeCost
int
接收耗时,从入会开始到音频首包接收到的耗时。
-
OnRenderRemoteVideoSizeChanged:视频渲染接收到远端视频分辨率有变化时触发此回调。
void OnRenderRemoteVideoSizeChanged (const char *uid, RtcEngineVideoTrack videoTrack, int newWidth, int newHeight, int oldWidth, int oldHeight)
参数
类型
描述
uid
const char *
userId,从Appserver分配的唯一标示符。
videoTrack
接收视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要因为simulcast的存在,以及动态调整分辨率,横竖屏变化,视频大小和远端设置的最大推流分辨率不一定相同。
-
OnRenderLocalVideoSizeChanged:视频渲染接收到本地视频分辨率有变化时触发此回调。
void OnRenderLocalVideoSizeChanged (RtcEngineVideoTrack videoTrack, int newWidth, int newHeight, int oldWidth, int oldHeight)
参数
类型
描述
videoTrack
本地视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要视频大小可能和摄像头采集到的视频大小不相等,比如在采集之后存在缩放等处理。
-
OnAudioSubscribeStateChanged:音频订阅情况变更回调。
void OnAudioSubscribeStateChanged (const char *uid, RtcEngineSubscribeState oldState, RtcEngineSubscribeState newState, int elapseSinceLastState, const char *channel)
参数
类型
描述
uid
const char *
userId,从Appserver分配的唯一标示符。
oldState
之前的订阅状态。
newState
当前的订阅状态。
elapseSinceLastState
int
两次状态变更时间间隔(毫秒)。
channel
const char *
当前频道id。
-
OnVideoSubscribeStateChanged:相机流订阅情况变更回调。
void OnVideoSubscribeStateChanged (const char *uid, RtcEngineSubscribeState oldState, RtcEngineSubscribeState newState, int elapseSinceLastState, const char *channel)
参数
类型
描述
uid
const char *
userId,从Appserver分配的唯一标示符。
oldState
之前的订阅状态。
newState
当前的订阅状态。
elapseSinceLastState
int
两次状态变更时间间隔(毫秒)。
channel
const char *
当前频道id。
-
OnSubscribeStreamTypeChanged:不同档次视频订阅情况变更回调。
void OnSubscribeStreamTypeChanged (const char *uid, RtcEngineVideoStreamType oldStreamType, RtcEngineVideoStreamType newStreamType, int elapseSinceLastState, const char *channel)
参数
类型
描述
uid
const char *
userId,从Appserver分配的唯一标示符。
oldStreamType
之前的订阅的视频档次。
newStreamType
当前的订阅的视频档次。
elapseSinceLastState
int
视频档次变更时间间隔(毫秒)。
channel
const char *
当前频道id。
重要订闭某个视频档次,并不表示一定能够收到该档次的视频。接收到的档次取決于推流情況以及网络情況。
-
OnRecordingDeviceAudioLevel:音频采集设备音量回调。
void OnRecordingDeviceAudioLevel (int level)
参数
类型
描述
level
int
音频采集设备音量值,取值[0,100]。
-
OnPlayoutDeviceAudioLevel:音频播放设备音量回调。
void OnPlayoutDeviceAudioLevel (int level)
参数
类型
描述
level
int
音频播放设备音量值,取值[0,100]。
-
OnAudioDeviceStateChanged:音频设备状态变更。
void OnAudioDeviceStateChanged (const char *deviceId, RtcEngineDeviceType deviceType, RtcEngineDeviceState deviceState)
参数
类型
描述
deviceId
const char *
设备id。
deviceType
设备类型。
deviceState
设备状态。
-
OnApiCalledExecuted:API方法已执行回调。
void OnApiCalledExecuted (int error, const char *api, const char *result)
参数
类型
描述
error
int
当该方法调用失败时SDK返回的错误码。如果该方法调用成功,SDK将返回0。失败,非0。
api
const char *
SDK执行的API。
result
const char *
SDK调用API的调用结果。
-
OnSnapshotComplete:视频截图回调。
void OnSnapshotComplete (const char *userId, RtcEngineVideoTrack videoTrack, const char *filePath, int width, int height, bool success)
参数
类型
描述
userId
const char *
用户id,为空或者为""代表本地用户。
videoTrack
截图视频track,参考RtcEngineVideoTrack。
filePath
const char *
截图的本地保存路径。
width
int
截图宽度。
height
int
截图高度。
success
bool
截图是否成功。
重要该接口用于截图回调。
-
OnAudioMixingStateChanged:伴奏混音回调。
void OnAudioMixingStateChanged (const RtcEngineAudioMixingStatusConfig &status)
参数
类型
描述
status
const RtcEngineAudioMixingStatusConfig &
伴奏混音状态,详细参考RtcEngineAudioMixingStatusConfig。
重要该接口用于伴奏混音状态监控。