回调及监听

通过阅读本文,您可以了解Windows SDKDingRtcEngineEventListener回调及监听接口详情。

接口说明

目录

视频数据回调及监听

API

描述

支持的最低版本

GetVideoFormatPreference

视频格式采集偏好。

3.0

OnCaptureVideoFrame

本地采集视频数据。

3.0

OnRemoteVideoFrame

远端解码后视频数据。

3.1

OnPreEncodeVideoFrame

本地编码前视频数据。

3.1

音频数据回调及监听

API

描述

支持的最低版本

OnRemoteUserAudioFrame

远端拉流数据回调

3.5.2

OnPlaybackAudioFrame

本地订阅音频数据回调。

3.0

OnCapturedAudioFrame

本地采集音频数据回调。

3.0

OnProcessCapturedAudioFrame

经过3A处理后的数据回调。

3.0

OnPublishAudioFrame

本地推流音频数据回调。

3.0

基础回调及监听

API

描述

支持的最低版本

OnJoinChannelResult

加入频道结果。

3.0

OnLeaveChannelResult

离开频道结果。

3.0

OnChannelRemainingTimeNotify

频道剩余时长回调。

3.0

OnRemoteUserOnLineNotify

远端用户加入频道回调。

3.0

OnRemoteUserOffLineNotify

远端用户离开频道回调。

3.0

OnBye

被动离会通知,触发原因有:用户被踢、频道被主动关闭、会话失效等。

3.0

OnConnectionStatusChanged

网络连接状态改变的回调。

3.0

OnNetworkQualityChanged

网络质量变化时发出的消息。

3.0

OnStatisticsLog

埋点log。

3.0

OnOccurWarning

如果engine出现warning,通过这个消息通知app。

3.0

OnOccurError

如果engine出现error,通过这个消息通知app。

3.0

OnStatisticsLevelLog

埋点log。

3.0

OnQualityReport

质量报告,相对OnLocalAudioStats,OnRemoteVideoStats更加简练,适合在UI上展示。

3.0

OnLocalAudioStats

本地音频统计信息。

3.0

OnLocalVideoStats

本地视频统计信息。

3.0

OnRemoteAudioStats

远端音频统计信息。

3.0

OnRemoteVideoStats

远端视频统计信息。

3.0

OnStats

当前会话统计信息回调。

3.0

OnAudioPublishStateChanged

音频推流变更回调。

3.0

OnVideoPublishStateChanged

视频推流变更回调。

3.0

OnScreenSharePublishStateChanged

屏幕分享推流变更回调。

3.0

OnRemoteTrackAvailableNotify

远端用户的音视频流发生变化回调。

3.0

OnUserAudioMuted

远端用户静音/取消静音回调。

3.0

OnUserVideoMuted

远端用户暂停/恢复视频流发送的通知。

3.0

OnUserVideoEnabled

远端用户关闭相机流采集发送通知。

3.5

OnUserWillResignActive

远端用户应用退到后台

3.5

OnUserWillBecomeActive

远端用户应用返回前台

3.5

OnFirstRemoteVideoFrameDrawn

远端用户的第一帧视频帧显示时触发这个消息。

3.0

OnFirstLocalVideoFrameDrawn

预览开始显示第一帧视频帧时触发这个消息。

3.0

OnFirstVideoPacketSend

视频首包发送回调。

3.0

OnFirstVideoPacketReceived

视频首包接收回调。

3.0

OnFirstVideoFrameReceived

收到远端用户视频首帧的回调。

3.0

OnFirstAudioPacketSend

音频首包发送回调。

3.0

OnFirstAudioPacketReceived

音频首包接收回调。

3.0

OnRenderRemoteVideoSizeChanged

视频渲染接收到远端视频分辨率有变化时触发此回调。

3.2.1

OnRenderLocalVideoSizeChanged

视频渲染接收到本地视频分辨率有变化时触发此回调。

3.2.1

OnAudioSubscribeStateChanged

音频订阅情况变更回调。

3.0

OnVideoSubscribeStateChanged

相机流订阅情况变更回调。

3.0

OnScreenShareSubscribeStateChanged

屏幕分享流订阅情况变更回调。

3.0

OnSubscribeStreamTypeChanged

不同档次视频订阅情况变更回调。

3.0

OnRecordingDeviceAudioLevel

音频采集设备音量回调。

3.0

OnPlayoutDeviceAudioLevel

音频播放设备音量回调。

3.0

OnAudioPlayoutEnded

音频播放设备测试结束(音频文件播放完毕)。

3.6

OnAudioDeviceStateChanged

本地音频设备状态变更。

3.0

OnVideoDeviceStateChanged

本地摄像头状态变更。

3.4.1

OnUserAudioInterruptedBegin

用户音频被中断通知(一般用户打电话等音频被抢占场景)

3.5.2

OnUserAudioInterruptedEnded

用户音频中断结束通知(对应OnUserAudioInterruptedBegin)

3.5.2

OnApiCalledExecuted

API方法已执行回调。

3.0

OnSnapshotComplete

视频截图回调。

3.0

OnMediaExtensionMsgReceived

收到媒体扩展信息回调

OnAudioMixingStateChanged

伴奏混音回调。

3.4

OnListAllAudioGroups

返回当前频道内所有的分组列表。

3.4

OnAudioGroupJoinResult

当调用JoinGroup加入某个group,触发此回调。注意:如果JoinGroup返回非0值,那么不会产生回调。

3.4

OnAudioGroupLeaveResult

当调用LeaveGroup离开某个group,触发此回调。注意:如果LeaveGroup返回非0值,那么不会产生回调。

3.4

OnAudioGroupDismissResult

当调用DismissGroup解散某个group,触发此回调。注意:如果DismissGroup返回非0值,那么不会产生回调。

3.4

OnAudioGroupMixResult

当调用MixAudioToGroup向分组或者大厅混流,触发此回调。注意:如果MixAudioToGroup返回非0值,那么不会产生回调。

3.4

OnAudioGroupMemberUpdate

分组中成员变化,触发此回调。

3.4

OnAudioGroupHallMembers

当前留在大厅中的所有的成员列表。

3.4

OnAudioGroupListUpdate

分组列表变化,触发此回调。

3.4

RTM服务回调及监听。

API

描述

支持的最低版本

OnRtmServerStateChanged

RTM服务状态变更通知。

3.7.0

OnJoinSessionResult

加入Session结果回调。

3.7.0

OnLeaveSessionResult

用户主动离开Session的回调。

3.7.0

OnCloseSessionResult

关闭Session结果回调。

3.7.0

OnSessionCreate

Session创建的事件通知。

3.7.0

OnSessionClose

Session被关闭的事件通知。

3.7.0

OnSessionRemoteUserJoin

远端用户加入Session的事件通知。

3.7.0

OnSessionRemoteUserLeave

远端用户离开Session的事件通知。

3.7.0

OnMessage

消息通知。

3.7.0

白板管理器回调接口

API

描述

支持的最低版本

OnWhiteboardServerStateChanged

白板服务状态变更回调。

3.7.0

OnWhiteboardStart

白板开启回调通知

3.6

OnWhiteboardStop

白板结束回调通知

3.6

白板事件回调接口

API

描述

支持的最低版本

OnJoinResult

加入白板结果。

3.6

OnLeaveResult

离开白板结果。

3.6

OnUserMemberUpdate

白板用户更新通知。

3.6

OnSnapshotComplete

白板快照结果。

3.6

OnUndoStatus

撤消状态。

3.6

OnRedoStatus

恢复状态。

3.6

OnZoomScaleChanged

缩放比例变化。

3.6

OnDrawEvent

绘制事件。

3.6

OnContentUpdate

内容更新

3.6

OnPageNumberChanged

页码变化。

3.6

OnCreateDoc

白板文档创建结果。

3.6

OnDeleteDoc

白板文档删除结果。

3.6

OnSwitchDoc

白板文档切换结果。

3.6

OnSaveDocComplete

白板文档保存成图片结果。

3.6

OnSaveDocProgress

白板文档保存进度。

3.6

OnReceiveMessage

收到自定义消息。

3.6

OnVisionShareStarted

视角共享开始。

3.6

OnVisionShareStopped

视角共享结束。

3.6

OnImageStateChanged

图像状态变化。

3.6

OnFileTranscodeState

文件转码状态。

3.6

OnSaveDocThumbnailComplete

白板文档保存成缩略图结果。

3.6

OnSaveDocThumbnailProgress

白板文档缩略图保存进度。

3.6

接口详情

  • 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

  • OnRemoteUserAudioFrame:远端拉流数据回调

    void OnRemoteUserAudioFrame (const char *uid, RtcEngineAudioFrame &frame)

    参数

    类型

    描述

    uid

    const char *

    远端用户ID。

    frame

    RtcEngineAudioFrame &

    音频数据,详见RtcEngineAudioFrame

    重要

    请不要在此回调函数中做任何耗时操作,否则可能导致声音异常

  • OnPlaybackAudioFrame:本地订阅音频数据回调。

    void OnPlaybackAudioFrame (RtcEngineAudioFrame &frame)=0

    远端所有用户混音后待播放的音频数据。

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame &

    音频数据,详见RtcEngineAudioFrame

  • OnCapturedAudioFrame:本地采集音频数据回调。

    void OnCapturedAudioFrame (RtcEngineAudioFrame &frame)=0

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame &

    音频数据,详见RtcEngineAudioFrame

  • OnProcessCapturedAudioFrame:经过3A处理后的数据回调。

    void OnProcessCapturedAudioFrame (RtcEngineAudioFrame &frame)=0

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame &

    音频数据,详见RtcEngineAudioFrame

  • OnPublishAudioFrame:本地推流音频数据回调。

    void OnPublishAudioFrame (RtcEngineAudioFrame &frame)=0

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame &

    音频数据,详见RtcEngineAudioFrame

  • 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

    RtcEngineStats

    本次频道内会话的数据统计汇总。

  • OnChannelRemainingTimeNotify:频道剩余时长回调。

    void OnChannelRemainingTimeNotify (int remainingTimeInSec)

    参数

    类型

    描述

    remainingTimeInSec

    int

    频道剩余时长,单位秒。

  • OnRemoteUserOnLineNotify:远端用户加入频道回调。

    void OnRemoteUserOnLineNotify (const char *uid, int elapsed)

    参数

    类型

    描述

    uid

    const char *

    用户IDAppserver分配的唯一标示符。

    elapsed

    int

    用户加入频道时的耗时。

  • OnRemoteUserOffLineNotify:远端用户离开频道回调。

    void OnRemoteUserOffLineNotify (const char *uid, RtcEngineUserOfflineReason reason)

    参数

    类型

    描述

    uid

    const char *

    用户IDAppserver分配的唯一标示符。

    reason

    RtcEngineUserOfflineReason

    用户离线的原因,详见RtcEngineUserOfflineReason

  • OnBye:被动离会通知,触发原因有:用户被踢、频道被主动关闭、会话失效等。

    void OnBye (RtcEngineOnByeType code)

    参数

    类型

    描述

    code

    RtcEngineOnByeType

    onBye类型,详见RtcEngineOnByeType

    重要

    3.x版本,在收到此通知时,不会再收到主动离会的onLeaveChannelResult通知。

  • OnConnectionStatusChanged:网络连接状态改变的回调。

    void OnConnectionStatusChanged (RtcEngineConnectionStatus status, RtcEngineConnectionStatusChangeReason reason)

    参数

    类型

    描述

    status

    RtcEngineConnectionStatus

    当前网络链接状态。

    reason

    RtcEngineConnectionStatusChangeReason

    网络链接状态改变原因。

  • OnNetworkQualityChanged:网络质量变化时发出的消息。

    void OnNetworkQualityChanged (const char *uid, RtcEngineNetworkQuality upQuality, RtcEngineNetworkQuality downQuality)

    参数

    类型

    描述

    uid

    const char *

    网络质量发生变化的用户uid。

    upQuality

    RtcEngineNetworkQuality

    上行网络质量,详见RtcEngineNetworkQuality

    downQuality

    RtcEngineNetworkQuality

    下行网络质量,详见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

    RtcEnginePublishState

    之前的推流状态。

    newState

    RtcEnginePublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔。

    channel

    const char *

    当前频道id。

  • OnVideoPublishStateChanged:视频推流变更回调。

    void OnVideoPublishStateChanged (RtcEnginePublishState oldState, RtcEnginePublishState newState, int elapseSinceLastState, const char *channel)

    参数

    类型

    描述

    oldState

    RtcEnginePublishState

    之前的推流状态。

    newState

    RtcEnginePublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔。

    channel

    const char *

    当前频道id。

  • OnScreenSharePublishStateChanged:屏幕分享推流变更回调。

    void OnScreenSharePublishStateChanged (RtcEnginePublishState oldState, RtcEnginePublishState newState, int elapseSinceLastState, const char *channel)

    参数

    类型

    描述

    oldState

    RtcEnginePublishState

    之前的推流状态。

    newState

    RtcEnginePublishState

    当前的推流状态。

    elapseSinceLastState

    int

    状态变更时间间隔。

    channel

    const char *

    当前频道id。

  • OnRemoteTrackAvailableNotify:远端用户的音视频流发生变化回调。

    void OnRemoteTrackAvailableNotify (const char *uid, RtcEngineAudioTrack audioTrack, RtcEngineVideoTrack videoTrack)

    该回调在以下场景会被触发:

    参数

    类型

    描述

    uid

    const char *

    userId,从Appserver分配的唯一标示符。

    audioTrack

    RtcEngineAudioTrack

    音频流类型,详见RtcEngineAudioTrack

    videoTrack

    RtcEngineVideoTrack

    视频流类型,详见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

    屏幕流或者相机流,参考RtcEngineVideoTrack。

  • OnUserVideoEnabled:远端用户关闭相机流采集发送通知。

    void OnUserVideoEnabled (const char *uid, bool enabled)

    参数

    类型

    描述

    uid

    const char *

    远端用户ID。

    enabled

    bool

    true:打开相机流采集。

    false:关闭相机流采集。

  • OnUserWillResignActive:远端用户应用退到后台

    void OnUserWillResignActive (const char *uid)

    参数

    类型

    描述

    uid

    const char *

    远端用户ID

  • OnUserWillBecomeActive:远端用户应用返回前台

    void OnUserWillBecomeActive (const char *uid)

    参数

    类型

    描述

    uid

    const char *

    远端用户ID

  • OnFirstRemoteVideoFrameDrawn:远端用户的第一帧视频帧显示时触发这个消息。

    void OnFirstRemoteVideoFrameDrawn (const char *uid, RtcEngineVideoTrack videoTrack, int width, int height, int elapsed)

    参数

    类型

    描述

    uid

    const char *

    userid。

    videoTrack

    RtcEngineVideoTrack

    屏幕流或者相机流,参考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

    RtcEngineVideoTrack

    发送视频track。

    timeCost

    int

    耗时(毫秒)。

    重要

    该接口用于视频首包发送的回调。

  • OnFirstVideoPacketReceived:视频首包接收回调。

    void OnFirstVideoPacketReceived (const char *uid, RtcEngineVideoTrack videoTrack, int timeCost)

    参数

    类型

    描述

    uid

    const char *

    UserID,从Appserver分配的唯一标示符。

    videoTrack

    RtcEngineVideoTrack

    接收视频track。

    timeCost

    int

    耗时(毫秒)。

    重要

    该接口用于视频首包接收的回调。

  • OnFirstVideoFrameReceived:收到远端用户视频首帧的回调。

    void OnFirstVideoFrameReceived (const char *uid, RtcEngineVideoTrack videoTrack, int timeCost)

    参数

    类型

    描述

    uid

    const char *

    UserID,从Appserver分配的唯一标示符。

    videoTrack

    RtcEngineVideoTrack

    接收视频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

    RtcEngineVideoTrack

    接收视频track。

    newWidth

    int

    变化后新的视频宽度

    newHeight

    int

    变化后新的视频高度

    oldWidth

    int

    变化前旧的视频宽度

    oldHeight

    int

    变化前旧的视频高度

    重要

    因为simulcast的存在,以及动态调整分辨率,横竖屏变化,视频大小和远端设置的最大推流分辨率不一定相同。

  • OnRenderLocalVideoSizeChanged:视频渲染接收到本地视频分辨率有变化时触发此回调。

    void OnRenderLocalVideoSizeChanged (RtcEngineVideoTrack videoTrack, int newWidth, int newHeight, int oldWidth, int oldHeight)

    参数

    类型

    描述

    videoTrack

    RtcEngineVideoTrack

    本地视频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

    RtcEngineSubscribeState

    之前的订阅状态。

    newState

    RtcEngineSubscribeState

    当前的订阅状态。

    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

    RtcEngineSubscribeState

    之前的订阅状态。

    newState

    RtcEngineSubscribeState

    当前的订阅状态。

    elapseSinceLastState

    int

    两次状态变更时间间隔(毫秒)。

    channel

    const char *

    当前频道id。

  • OnScreenShareSubscribeStateChanged:屏幕分享流订阅情况变更回调。

    void OnScreenShareSubscribeStateChanged (const char *uid, RtcEngineSubscribeState oldState, RtcEngineSubscribeState newState, int elapseSinceLastState, const char *channel)

    参数

    类型

    描述

    uid

    const char *

    userId,从Appserver分配的唯一标示符。

    oldState

    RtcEngineSubscribeState

    之前的订阅状态。

    newState

    RtcEngineSubscribeState

    当前的订阅状态。

    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

    RtcEngineVideoStreamType

    之前的订阅的视频档次。

    newStreamType

    RtcEngineVideoStreamType

    当前的订阅的视频档次。

    elapseSinceLastState

    int

    视频档次变更时间间隔(毫秒)。

    channel

    const char *

    当前频道id。

    重要

    订闭某个视频档次,并不表示一定能够收到该档次的视频。接收到的档次取決于推流情況以及网络情況。

  • OnRecordingDeviceAudioLevel:音频采集设备音量回调。

    void OnRecordingDeviceAudioLevel (int level)

    参数

    类型

    描述

    level

    int

    音频采集设备音量值,取值[0,100]。

  • OnPlayoutDeviceAudioLevel:音频播放设备音量回调。

    void OnPlayoutDeviceAudioLevel (int level)

    参数

    类型

    描述

    level

    int

    音频播放设备音量值,取值[0,100]。

  • OnAudioPlayoutEnded:音频播放设备测试结束(音频文件播放完毕)。

    void OnAudioPlayoutEnded ()

  • OnAudioDeviceStateChanged:本地音频设备状态变更。

    void OnAudioDeviceStateChanged (const char *deviceId, RtcEngineDeviceType deviceType, RtcEngineDeviceState deviceState)

    参数

    类型

    描述

    deviceId

    const char *

    设备id。

    deviceType

    RtcEngineDeviceType

    设备类型。

    deviceState

    RtcEngineDeviceState

    设备状态。

  • OnVideoDeviceStateChanged:本地摄像头状态变更。

    void OnVideoDeviceStateChanged (const char *deviceId, RtcEngineDeviceType deviceType, RtcEngineDeviceState deviceState)

    参数

    类型

    描述

    deviceId

    const char *

    摄像头id。

    deviceType

    RtcEngineDeviceType

    设备类型。

    deviceState

    RtcEngineDeviceState

    设备状态。

  • OnUserAudioInterruptedBegin:用户音频被中断通知(一般用户打电话等音频被抢占场景)

    void OnUserAudioInterruptedBegin (const char *uid)

    参数

    类型

    描述

    uid

    const char *

    音频被中断的用户ID

  • OnUserAudioInterruptedEnded:用户音频中断结束通知(对应OnUserAudioInterruptedBegin)

    void OnUserAudioInterruptedEnded (const char *uid)

    参数

    类型

    描述

    uid

    const char *

    音频中断结束的用户ID

  • 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

    RtcEngineVideoTrack

    截图视频track,参考RtcEngineVideoTrack

    filePath

    const char *

    截图的本地保存路径。

    width

    int

    截图宽度。

    height

    int

    截图高度。

    success

    bool

    截图是否成功。

    重要

    该接口用于截图回调。

  • OnMediaExtensionMsgReceived:收到媒体扩展信息回调

    void OnMediaExtensionMsgReceived (const char *uid, unsigned char *message, unsigned int size)

    参数

    类型

    描述

    uid

    const char *

    发送用户userId

    message

    unsigned char *

    扩展信息内容

    size

    unsigned int

    扩展信息长度

    重要

    当一端通过SendMediaExtensionMsg发送信息后,其他端通过该回调接收数据

  • OnAudioMixingStateChanged:伴奏混音回调。

    void OnAudioMixingStateChanged (const RtcEngineAudioMixingStatusConfig &status)

    参数

    类型

    描述

    status

    const RtcEngineAudioMixingStatusConfig &

    伴奏混音状态,详细参考RtcEngineAudioMixingStatusConfig

    重要

    该接口用于伴奏混音状态监控。

  • OnListAllAudioGroups:返回当前频道内所有的分组列表。

    void OnListAllAudioGroups (const StringArray &groups)

    参数

    类型

    描述

    groups

    const ding::rtc::StringArray &

    分组列表。

    重要

    该回调发生在加入频道的时候。App通过该回调可以获得当前频道内所有的分组。后续分组变化,通过回调OnAudioGroupListUpdate获得。

  • OnAudioGroupJoinResult:当调用JoinGroup加入某个group,触发此回调。注意:如果JoinGroup返回非0值,那么不会产生回调。

    void OnAudioGroupJoinResult (int result, const String &errMsg, const String &group, RtcEngineAudioGroupMember *members, int memberCount)

    参数

    类型

    描述

    result

    int

    0表示成功,其他值表示失败。

    errMsg

    const ding::rtc::String &

    如果result不为0,补充说明错误原因。

    group

    const ding::rtc::String &

    加入的group。

    members

    RtcEngineAudioGroupMember *

    group的成员用户列表。

    memberCount

    int

    成员列表长度。

  • OnAudioGroupLeaveResult:当调用LeaveGroup离开某个group,触发此回调。注意:如果LeaveGroup返回非0值,那么不会产生回调。

    void OnAudioGroupLeaveResult (int result, const String &errMsg, const String &group)

    参数

    类型

    描述

    result

    int

    0表示成功,其他值表示失败。

    errMsg

    const ding::rtc::String &

    如果result不为0,补充说明错误原因。

    group

    const ding::rtc::String &

    离开的group。

  • OnAudioGroupDismissResult:当调用DismissGroup解散某个group,触发此回调。注意:如果DismissGroup返回非0值,那么不会产生回调。

    void OnAudioGroupDismissResult (int result, const String &errMsg, const String &group)

    参数

    类型

    描述

    result

    int

    0表示成功,其他值表示失败。

    errMsg

    const ding::rtc::String &

    如果result不为0,补充说明错误原因。

    group

    const ding::rtc::String &

    解散的group。

  • OnAudioGroupMixResult:当调用MixAudioToGroup向分组或者大厅混流,触发此回调。注意:如果MixAudioToGroup返回非0值,那么不会产生回调。

    void OnAudioGroupMixResult (const String &group, bool mix, int result, const String &reason)

    参数

    类型

    描述

    group

    const ding::rtc::String &

    目标分组。如果是HallID,则表示目标为大厅的音频,否则是普通分组的ID。非空。

    mix

    bool

    true表示将本地音频流混进指定的channelaudio或者分组音频中;false表示取消。

    result

    int

    0表示成功,其他值表示失败。

    reason

    const ding::rtc::String &

    如果result不为0,用该字符串解释失败的原因。

  • OnAudioGroupMemberUpdate:分组中成员变化,触发此回调。

    void OnAudioGroupMemberUpdate (int update_opt, const String &group, RtcEngineAudioGroupMember *members, int memberCount)

    参数

    类型

    描述

    update_opt

    int

    1表示新增成员列表,-1表示离开的成员列表。

    group

    const ding::rtc::String &

    该回调发生的分组。

    members

    RtcEngineAudioGroupMember *

    变动的成员列表。

    memberCount

    int

    "members"的长度。

  • OnAudioGroupHallMembers:当前留在大厅中的所有的成员列表。

    void OnAudioGroupHallMembers (RtcEngineAudioGroupMember *hallMembers, int hallMemberCount)

    参数

    类型

    描述

    hallMembers

    RtcEngineAudioGroupMember *

    大厅中的成员列表。

    hallMemberCount

    int

    大厅中的成员数量。

    重要

    留在大厅是指不在任何分组中。如果加入某个分组,意味着离开了大厅;从所有分组中离开,意味着回到了大厅。

  • OnAudioGroupListUpdate:分组列表变化,触发此回调。

    void OnAudioGroupListUpdate (int update_opt, const String &group)

    参数

    类型

    描述

    update_opt

    int

    1表示新增的分组,-1表示删除的分组。

    group

    const ding::rtc::String &

    该回调指示的分组。

  • OnRtmServerStateChanged:RTM服务状态变更通知。

    void OnRtmServerStateChanged (RtmServerState state, int reason)

    参数

    类型

    描述

    state

    RtmServerState

    RTM服务状态。

    reason

    int

    RTM服务状态改变原因。

    重要

    只有当RTM服务状态变更为Available时,才能调用一系列RTM接口,否则会调用失败。

  • OnJoinSessionResult:加入Session结果回调。

    void OnJoinSessionResult (const String &sessionId, int result)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    result

    int

    加入Session的结果,成功返回0,失败返回错误码。

  • OnLeaveSessionResult:用户主动离开Session的回调。

    void OnLeaveSessionResult (const String &sessionId, int reason)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    reason

    int

    离开Session的结果,成功返回0,失败返回错误码。

  • OnCloseSessionResult:关闭Session结果回调。

    void OnCloseSessionResult (const String &sessionId, int result)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    result

    int

    关闭Session的结果,成功返回0,失败返回错误码。

  • OnSessionCreate:Session创建的事件通知。

    void OnSessionCreate (const String &sessionId)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    重要

    刚入会时或者会中新创建Session时触发,自己创建Session时也会触发该通知。

  • OnSessionClose:Session被关闭的事件通知。

    void OnSessionClose (const String &sessionId)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    重要

    Session被关闭时触发,自己关闭Session时也会触发该通知。

  • OnSessionRemoteUserJoin:远端用户加入Session的事件通知。

    void OnSessionRemoteUserJoin (const String &sessionId, const String &uid)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    uid

    const ding::rtc::String &

    远端用户ID。

    重要

    自己加入Session时不会触发该通知。

  • OnSessionRemoteUserLeave:远端用户离开Session的事件通知。

    void OnSessionRemoteUserLeave (const String &sessionId, const String &uid)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    uid

    const ding::rtc::String &

    远端用户ID。

    重要

    自己离开Session时不会触发该通知。

  • OnMessage:消息通知。

    void OnMessage (const String &sessionId, const String &fromUid, bool broadcast, const RtmData &data)

    参数

    类型

    描述

    sessionId

    const ding::rtc::String &

    SessionID。

    fromUid

    const ding::rtc::String &

    消息发送方用户ID。

    broadcast

    bool

    该消息是否为广播消息。

    data

    const RtmData &

    消息数据。

  • OnWhiteboardServerStateChanged:白板服务状态变更回调。

    void OnWhiteboardServerStateChanged (WBServerState state, int reason)

    参数

    类型

    描述

    state

    WBServerState

    白板服务状态。

    reason

    int

    白板服务状态改变原因。

    重要

    只有当白板服务状态变更为Available时,才能调用一系列白板接口,否则会调用失败。

  • OnWhiteboardStart:白板开启回调通知

    void OnWhiteboardStart (const char *whiteboardId, WBConfig cfg)

  • OnWhiteboardStop:白板结束回调通知

    void OnWhiteboardStop (const char *whiteboardId)

  • OnJoinResult:加入白板结果。

    void OnJoinResult (int result)

    参数

    类型

    描述

    result

    int

    加入白板结果,成功返回0,失败返回错误码。

  • OnLeaveResult:离开白板结果。

    void OnLeaveResult (int result)

    参数

    类型

    描述

    result

    int

    离开白板结果,成功返回0,失败返回错误码。

  • OnUserMemberUpdate:白板用户更新通知。

    void OnUserMemberUpdate (int action, WBUserMember *members, int memberCount)

    参数

    类型

    描述

    action

    int

    0:join,1:leave

    members

    WBUserMember *

    变动的用户列表。

    memberCount

    int

    members数量。

  • OnSnapshotComplete:白板快照结果。

    void OnSnapshotComplete (int result, const char *filename)

    参数

    类型

    描述

    result

    int

    快照结果,成功返回0,失败返回错误码。

    filename

    const char *

    快照文件名。

  • OnUndoStatus:撤消状态。

    void OnUndoStatus (bool undo)

    参数

    类型

    描述

    undo

    bool

    是否允许撤消。

  • OnRedoStatus:恢复状态。

    void OnRedoStatus (bool redo)

    参数

    类型

    描述

    redo

    bool

    是否允许恢复。

  • OnZoomScaleChanged:缩放比例变化。

    void OnZoomScaleChanged (float scale)

    参数

    类型

    描述

    scale

    float

    缩放比例。

  • OnDrawEvent:绘制事件。

    void OnDrawEvent (WBDrawEvent event)

    参数

    类型

    描述

    event

    WBDrawEvent

    绘制事件。

  • OnContentUpdate:内容更新

    void OnContentUpdate (WBContentUpdateType type)

    参数

    类型

    描述

    type

    WBContentUpdateType

    内容更新类型。

  • OnPageNumberChanged:页码变化。

    void OnPageNumberChanged (WBPageNumber curPage, size_t totalPages)

    参数

    类型

    描述

    curPage

    WBPageNumber

    页码。

    totalPages

    size_t

    总页数。

  • OnCreateDoc:白板文档创建结果。

    void OnCreateDoc (int result, String docId)

    参数

    类型

    描述

    result

    int

    创建结果,成功返回0,失败返回错误码。

    docId

    String

    文档ID。

  • OnDeleteDoc:白板文档删除结果。

    void OnDeleteDoc (int result, String docId)

    参数

    类型

    描述

    result

    int

    删除结果,成功返回0,失败返回错误码。

    docId

    String

    文档ID。

  • OnSwitchDoc:白板文档切换结果。

    void OnSwitchDoc (int result, String docId)

    参数

    类型

    描述

    result

    int

    切换结果,成功返回0,失败返回错误码。

    docId

    String

    文档ID。

  • OnSaveDocComplete:白板文档保存成图片结果。

    void OnSaveDocComplete (int result, String docId, const char *outputDir)

    参数

    类型

    描述

    result

    int

    保存结果,成功返回0,失败返回错误码。

    docId

    String

    文档ID。

    outputDir

    const char *

    输出目录。

  • OnSaveDocProgress:白板文档保存进度。

    void OnSaveDocProgress (String docId, uint32_t current, uint32_t total)

    参数

    类型

    描述

    docId

    String

    文档ID。

    current

    uint32_t

    当前进度(当前页数)。

    total

    uint32_t

    总进度(总页数)。

  • OnReceiveMessage:收到自定义消息。

    void OnReceiveMessage (const char *userId, const char *msg, size_t size)

    参数

    类型

    描述

    userId

    const char *

    发送方用户ID。

    msg

    const char *

    收到的消息。

    size

    size_t

    消息长度。

  • OnVisionShareStarted:视角共享开始。

    void OnVisionShareStarted (const char *userId)

    参数

    类型

    描述

    userId

    const char *

    用户ID。

  • OnVisionShareStopped:视角共享结束。

    void OnVisionShareStopped (const char *userId)

    参数

    类型

    描述

    userId

    const char *

    用户ID。

  • OnImageStateChanged:图像状态变化。

    void OnImageStateChanged (const char *url, WBImageState state)

    参数

    类型

    描述

    url

    const char *

    图片URL。

    state

    WBImageState

    图像状态。

  • OnFileTranscodeState:文件转码状态。

    void OnFileTranscodeState (String docId, const char *transDocId, WBFileTransState state)

    参数

    类型

    描述

    docId

    String

    文档ID。

    transDocId

    const char *

    转码文档ID。

    state

    WBFileTransState

    文件转码状态。

  • OnSaveDocThumbnailComplete:白板文档保存成缩略图结果。

    void OnSaveDocThumbnailComplete (int result, String docId, const char *outputDir)

    参数

    类型

    描述

    result

    int

    保存结果,成功返回0,失败返回错误码。

    docId

    String

    文档ID。

    outputDir

    const char *

    输出目录。

  • OnSaveDocThumbnailProgress:白板文档缩略图保存进度。

    void OnSaveDocThumbnailProgress (String docId, uint32_t current, uint32_t total)

    参数

    类型

    描述

    docId

    String

    文档ID。

    current

    uint32_t

    当前进度(当前页数)。

    total

    uint32_t

    总进度(总页数)。