文档首页 > > SDK参考> Windows SDK> 接口参考> 事件回调

事件回调

分享
更新时间:2020/11/02 GMT+08:00

本章节介绍了Windows SDK的回调接口IHRTCEngineEventHandler的详情。

表1 回调

接口

描述

IHRTCEngineEventHandler

析构函数。

onWarning

警告回调。

onError

错误回调。

onJoinRoomSuccess

成功加入房间回调。

onJoinRoomFailure

加入房间失败回调。

onLeaveRoom

离开房间回调。

onUserJoined

远端用户加入当前房间回调。

onUserOffline

远端用户离开当前房间回调。

onFirstRemoteVideoDecoded

引擎收到第一帧远端视频流并解码成功回调。

onConnectStateChange

网络连接状态发生变化回调。

onDeviceStateChanged

设备状态发生变化回调。

onDeviceVolumeChanged

音频设备音量发生变化回调。

onLogUploadResult

日志上传结果回调。

onLogUploadProgress

日志上传进度回调。

onAgreedStreamAvailable

加入房间收到默认视频流回调。

onUserRoleChanged

用户角色切换成功回调。

onScreenCaptureStarted

屏幕共享开启回调。

onScreenCaptureStoped

屏幕共享关闭回调。

onUserSubStreamAvailable

远端开启/停止共享屏幕回调。

onVideoStats

视频流详情,2s触发一次回调。

onAudioStats

音频流详情,2s触发一次回调。

onSubStreamStats

共享流详情,2s触发一次回调。

onConnectOtherRoom

开启跨房回调。

onDisconnectOtherRoom

结束跨房回调。

onRemoteAudioStateChanged

远端音频流状态变化回调。

onRemoteVideoStateChanged

远端视频流状态变化回调。

onRenderVideoFrame

视频自渲染回调。

onPlaybackAudioFrame

音频自渲染回调。

onRejoinRoomSuccess

重新加入房间回调。

onStartAudioFileNotify

播放音频文件回调。

onStopAudioFileNotify

停止播放音频文件回调。

onPauseAudioFileNotify

暂停播放音频文件回调。

onResumeAudioFileNotify

恢复播放音频文件回调。

onNetworkTestQuality

网络探测信号质量回调。

onNetworkTestResult

网络探测详细结果回调。

onUserVolumeStats

音频订阅状态回调。

IHRTCEngineEventHandler

virtual ~IHRTCEngineEventHandler()

功能说明

析构函数。

onWarning

void onWarning(int warn, const char* msg)

功能说明

发生警告,触发此回调。

回调参数

  • warn:告警码。
  • msg:警告描述。

注意事项

预留接口

onError

void onError(int error, const char* msg)

功能说明

发生错误,触发此回调。该回调方法表示SDK运行时出现错误,无法自行恢复。需要App干预或提示用户。返回客户端错误码或者服务端错误码。

回调参数

  • error:错误码,具体请参见HRTCErrorCode
  • msg:错误描述。

onJoinRoomSuccess

void onJoinRoomSuccess(const char* roomId, const char* userId)

功能说明

成功加入房间,触发此回调。

回调参数

  • roomId:新加入的房间ID。
  • userId:新加入房间的用户ID。

onJoinRoomFailure

void onJoinRoomFailure(int error, const char* msg)

功能说明

加入房间失败,触发此回调。

回调参数

  • error:错误码,具体请参见HRTCErrorCode
  • msg:错误描述。

onLeaveRoom

void onLeaveRoom(HRTCLeaveReason reason, const HRTCStatsInfo &statsInfo)

功能说明

离开房间,触发此回调。

APP调用leaveRoom接口时,会返回HRTC_LEAVE_REASON_USER_LEAVE_ROOM,APP可以通过以下任一方式回退到登录界面。
  • APP在调用leaveRoom接口时退到登录界面;或者在收到到onLeaveRoom回调,且回调消息不等于HRTC_LEAVE_REASON_USER_LEAVE_ROOM时(防止重复炒作),退到登录界面。
  • APP只在收到onLeaveRoom消息时退到登录界面。

回调参数

onUserJoined

void onUserJoined(const char* roomId, const char* userId, const char*nickName)

功能说明

远端用户加入当前房间,触发此回调。该回调提示有远端用户加入了房间,并返回新加入用户的ID。

回调参数

  • roomId:新加入房间ID。
  • userId:新加入房间的远端用户ID。
  • nickName:新加入房间的远端用户昵称。

onUserOffline

void onUserOffline(const char* roomId, const char* userId, int reason)

功能说明

远端用户离开当前房间,触发此回调。

回调参数
  • roomId:远端用户离开的房间ID。
  • userId:离开房间的远端用户ID。
  • reason:远端用户离线原因,预留参数。

onFirstRemoteVideoDecoded

void onFirstRemoteVideoDecoded(const char* roomId, const char* userId, int width, int height)

功能说明

接收到第一帧远端视频流并解码成功,触发此回调。

回调参数

  • roomId:视频流对应的房间ID。
  • userId:视频流对应的用户ID。
  • width:视频流宽。
  • height:视频流高。

onConnectStateChange

void onConnectStateChange(HRTCConnStateTypes connType, HRTCConnChangeReason reason, const char* description)

功能说明

网络连接状态发生变化,触发此回调。

回调参数

onDeviceStateChanged

void onDeviceStateChanged(const char* deviceId, HRTCDeviceType deviceType, HRTCDeviceState deviceState)

功能说明

设备状态发生变化,触发此回调。

回调参数

  • deviceId:系统设备标识,如系统音频播放设备标识可用过getPlaybackDevices获取。
  • deviceType:系统设备类型,具体请参见HRTCDeviceType
  • deviceState:系统设备状态,具体请参见HRTCDeviceState

注意事项

通话前插拔设备会上报变化。

onDeviceVolumeChanged

void onDeviceVolumeChanged(HRTCDeviceType deviceType, unsigned int volume, unsigned int muted)

功能说明

音频设备音量发生变化,触发此回调。

回调参数

  • deviceType:系统设备类型,具体请参见HRTCDeviceType
  • volume:音量
  • muted:true表示设备静音,false表示设备未静音

注意事项

通话前调整音频设备音量和静音会上报变化。

onLogUploadResult

void onLogUploadResult(int result)

功能说明

日志上传结果回调。

回调参数

result:日志上传结果。

  • 0:上传成功
  • >0:上传失败

onLogUploadProgress

void onLogUploadProgress(int progress)

功能说明

日志上传进度回调。

回调参数

progress:日志上传进度。取值范围为[0,100]。

onAgreedStreamAvailable

void onAgreedStreamAvailable(const char* roomId, const char* userId, HRTCStreamType streamType)

功能说明

加入房间默认收到的视频流,用于首帧画面快速展示。

回调参数

  • roomId:新加入房间ID。
  • userId:新加入房间的远端用户ID。
  • streamType:视频分辨率。具体请参见HRTCStreamType

onUserRoleChanged

void onUserRoleChanged(const char* roomId, HRTCRoleType oldRole, HRTCRoleType newRole)

功能说明

用户角色切换成功,触发此回调。

回调参数

  • roomId:发生角色切换的房间号。
  • oldRole:切换前的角色。具体请参见HRTCRoleType
  • newRole:切换成功后的角色。具体请参见HRTCRoleType

onScreenCaptureStarted

void onScreenCaptureStarted()

功能说明

屏幕共享开启,触发此回调。

onScreenCaptureStoped

void onScreenCaptureStoped(int reason)

功能说明

屏幕共享关闭,触发此回调。

回调参数

reason:屏幕共享关闭原因。

注意事项

reason:预留参数。

onUserSubStreamAvailable

void onUserSubStreamAvailable(const char* roomId, const char* userId, bool available)

功能说明

远端开启,停止共享屏幕后,触发此回调。

回调参数

  • roomId:新加入房间ID。
  • userId:新加入房间的远端用户ID。
  • available:true表示远端开启屏幕共享,false表示远端停止屏幕共享。

onVideoStats

void onVideoStats(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)

功能说明

视频流详情,2s触发一次回调。

回调参数
  • localStats:本地视频发流详情,具体请参见HRTCLocalVideoStats
  • localStatsCount:本地视频发流数量。
  • remoteStats:远端视频收流详情,具体请参见HRTCRemoteVideoStats
  • remoteStatsCount:远端视频收流数量。

onAudioStats

void onAudioStats(HRTCLocalAudioStats *localStats, unsigned int localStatsCount, HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)

功能说明

音频流详情,2s触发一次回调。

回调参数

  • localStats:本地音频发流详情,具体请参见HRTCLocalAudioStats
  • localStatsCount:本地音频发流数量。
  • remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats
  • remoteStatsCount:远端音频收流数量。

onSubStreamStats

void onSubStreamStats(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)

功能说明

共享流详情,2s触发一次回调。

回调参数

  • localStats:本地共享流发流详情,具体请参见HRTCLocalVideoStats
  • localStatsCount:本地共享流发流数量。
  • remoteStats:远端共享流收流详情,具体请参见HRTCRemoteVideoStats
  • remoteStatsCount:远端共享流收流数量。

onConnectOtherRoom

void onConnectOtherRoom(HRTCConnectInfo *connectInfo, int error, const char* msg);

功能说明

开启跨房回调。

回调参数

  • connectInfo:跨房信息,具体请参见HRTCConnectInfo
  • error:错误码。
  • msg:错误描述。

onDisconnectOtherRoom

void onDisconnectOtherRoom(HRTCConnectInfo *connectInfo, int error, const char* msg);

功能说明

结束跨房回调。

回调参数

  • connectInfo:跨房信息,具体请参见HRTCConnectInfo
  • error:错误码。
  • msg:错误描述。

onRemoteAudioStateChanged

void onRemoteAudioStateChanged(const char* userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason)

功能说明

远端音频流状态变化回调。

回调参数

onRemoteVideoStateChanged

void onRemoteVideoStateChanged(const char* userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason)

功能说明

远端视频流状态变化回调。

回调参数

onRenderVideoFrame

void onRenderVideoFrame(const char* roomId, const char* userId, HRTCVideoFrame& videoFrame)

功能说明

视频自渲染回调。需要调用setExternalMediaFrameOutput接口开启视频自渲染,从而触发该回调。

回调参数

  • roomId:房间ID。
  • userId:视频数据对应的远端用户ID。
  • videoFrame:视频帧详情,具体请参见HRTCVideoFrame

onPlaybackAudioFrame

void onPlaybackAudioFrame(const char* roomId, HRTCAudioFrame& audioFrame)

功能说明

音频自渲染回调。需要调用setExternalMediaFrameOutput接口开启音频自渲染,从而触发该回调。

回调参数

  • roomId:房间ID。
  • audioFrame:视频帧详情,具体请参见HRTCAudioFrame

onRejoinRoomSuccess

void onRejoinRoomSuccess(const char* roomId, const char* userId)

功能说明

重新加入房间回调。例如网络异常后重连成功加入房间触发。

回调参数

  • roomId:房间ID。
  • userId:用户ID。

onStartAudioFileNotify

virtual void onStartAudioFileNotify(int result)

功能说明

播放音频文件回调。

回调参数

result:播放音频文件回调结果。
  • 0:播放成功
  • >0:播放失败

onStopAudioFileNotify

virtual void onStopAudioFileNotify(int result)

功能说明

停止播放音频文件回调。

回调参数

result:播放音频文件回调结果。
  • 0:停止播放成功
  • >0:停止播放失败

onPauseAudioFileNotify

virtual void onPauseAudioFileNotify(int result)

功能说明

暂停播放音频文件回调。

回调参数

result:播放音频文件回调结果
  • 0:暂停播放成功
  • >0:暂停播放失败

onResumeAudioFileNotify

virtual void onResumeAudioFileNotify(int result)

功能说明

停止播放音频文件回调。

回调参数

result:播放音频文件回调结果。
  • 0:恢复播放成功
  • >0:恢复播放失败

onNetworkTestQuality

irtual void onNetworkTestQuality(HRTCNetworkQualityLevel level)

功能说明

网络探测回调。

回调参数

level:网络质量等级1-4,具体请参见HRTCNetworkQualityLevel

onNetworkTestResult

virtual void onNetworkTestResult(HRTCNetworkTestResult& networkTestResult)

功能说明

网络探测结果回调。

回调参数

networkTestResult:主要包括测试成功与否、上行和下行的网络带宽、丢包、延时和抖动,具体请参见HRTCNetworkTestResult

onUserVolumeStats

virtual void onUserVolumeStats(const HRTCVolumeInfo* userVolumes, unsigned int userVolumesCount, unsigned int totalVolume)

功能说明

总音量以及各发言人及其对应音量上报显示回调。

回调参数

  • userVolumes:用户信息,具体请参见HRTCVolumeInfo
  • userVolumesCount:上报的发言人人数。
  • totalVolume:总音量。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问