事件回调(IHRTCConnection)
本章节介绍了全平台C++ SDK的回调接口IHRTCEngineEventHandler的详情。
接口 |
描述 |
---|---|
错误回调。 |
|
警告回调。 |
|
连接状态改变回调。 |
|
鉴权签名过期回调。 |
|
成功加入房间回调。 |
|
加入房间失败回调。 |
|
重新加入房间回调。 |
|
离开房间回调。 |
|
用户角色切换成功回调。 |
|
远端用户加入当前房间回调。 |
|
远端用户离开当前房间回调。 |
|
远端用户昵称变化回调。 |
|
本地用户昵称变化回调。 |
|
远端音频流状态变化回调。 |
|
远端视频流状态变化回调。 |
|
音频订阅状态回调。 |
|
远端开启/停止辅流回调。 |
|
引擎收到第一帧远端视频流并解码成功回调。 |
|
引擎收到第一帧远端辅流并解码成功回调。 |
|
媒体渲染成功上报。 |
|
音频流详情,2s触发一次回调。 |
|
视频流详情,2s触发一次回调。 |
|
辅流详情,2s触发一次回调。 |
|
网络质量上报。 |
|
销毁连接。 |
|
媒体服务器连接状态变化回调。 |
|
批量选看结果回调。 |
|
当前会话统计回调。 |
|
视频分辨率大小改变对调。 |
|
远端音频流状态,2秒触发一次回调。 |
|
远端视频流状态,2秒触发一次回调。 |
|
开始旁路(RTMP)推流回调 |
|
更新旁路(RTMP)推流回调 |
|
停止旁路(RTMP)推流回调 |
|
RTMP推流状态回调 |
|
跨房状态改变回调 |
|
麦克风设备状态变更通知 |
|
房间流状态回调 |
onError
virtual void onError(IHRTCConnection* conn, int error, const char* msg)
【功能说明】
发生错误,触发此回调。返回客户端错误码或者服务端错误码。
【回调参数】
- conn:连接对象。
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onWarning
virtual void onWarning(IHRTCConnection* conn, int warn, const char* msg)
【功能说明】
发生错误,触发此回调。返回客户端错误码或者服务端错误码。
【回调参数】
- conn:连接对象。
- warn:警告码。
- msg:警告描述。
onConnectionChangedNotify
virtual void onConnectionChangedNotify(IHRTCConnection* conn, HRTCConnStateType state, HRTCConnChangeReason reason, const char* description)
【功能说明】
连接状态改变回调。
【回调参数】
- conn:连接对象。
- state:连接状态类型,具体请参见HRTCConnStateTypes。
- reason:连接状态改变原因,具体请参见HRTCConnChangeReason。
- description:连接状态改变描述。
onAuthorizationExpired
virtual void onAuthorizationExpired(IHRTCConnection* conn);
【功能说明】
鉴权签名过期回调,需要app调用renewAuthorization更新签名。
【回调参数】
conn:连接对象。
onJoinRoomSuccess
virtual void onJoinRoomSuccess(IHRTCConnection* conn, const char* userId)
【功能说明】
成功加入房间,触发此回调。
【回调参数】
- conn:连接对象。
- userId:新加入房间的用户ID。
onJoinRoomFailure
virtual void onJoinRoomFailure(IHRTCConnection* conn, int error, const char* msg)
【功能说明】
加入房间失败,触发此回调。
【回调参数】
- conn:连接对象。
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onRejoinRoomSuccess
virtual void onRejoinRoomSuccess(IHRTCConnection* conn, const char* userId)
【功能说明】
重新加入房间回调。例如网络异常后重连成功加入房间触发。
【回调参数】
- conn:连接对象。
- userId:用户ID。
onLeaveRoom
virtual void onLeaveRoom(IHRTCConnection* conn, HRTCLeaveReason reason, const HRTCStatsInfo &statsInfo)
【功能说明】
离开房间,触发此回调。
【回调参数】
- conn:连接对象。
- reason:离开的房间原因,具体请参见HRTCLeaveReason。
- statsInfo:卡顿统计信息,具体请参见HRTCStatsInfo。
onUserRoleChangedNotify
virtual void onUserRoleChangedNotify(IHRTCConnection* conn, HRTCRoleType oldRole, HRTCRoleType newRole)
【功能说明】
用户角色切换成功,触发此回调。
【回调参数】
- conn:连接对象。
- oldRole:切换前的角色。具体请参见HRTCRoleType。
- newRole:切换成功后的角色。具体请参见HRTCRoleType。
onRemoteUserOnline
virtual void onRemoteUserOnline(IHRTCConnection* conn, const char* userId, const char* userName)
【功能说明】
远端joiner用户加入当前房间,触发此回调。该回调提示有远端joiner用户加入了房间,并返回新加入用户的ID。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- userName:远端用户昵称。
onRemoteUserOffline
virtual void onRemoteUserOffline(IHRTCConnection* conn, const char* userId, int reason)
【功能说明】
远端joiner用户离开当前房间,触发此回调。
本端用户离开当前房间,会回调当前房间所有用户offline。
【回调参数】
- conn:连接对象。
- userId:离开房间的远端用户ID。
- reason:远端用户离线原因,预留参数。
onRemoteUserNameChangedNotify
virtual void onRemoteUserNameChangedNotify(IHRTCConnection* conn, const char* userId, const char* userName)
【功能说明】
远端用户昵称变化,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- userName:变更后的昵称。
onUserNameChangedNotify
virtual void onUserNameChangedNotify(IHRTCConnection* conn, const char* oldUserName, const char* newUserName)
【功能说明】
本端用户昵称变化,触发此回调。
【回调参数】
- conn:连接对象。
- oldUserName:变更前的昵称。
- newUserName:变更后的昵称。
onRemoteAudioStateChangedNoitfy
virtual void onRemoteAudioStateChangedNotify(IHRTCConnection* conn, const char* userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason)
【功能说明】
远端音频流状态变化回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。
- reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
onRemoteVideoStateChangedNotify
virtual void onRemoteVideoStateChangedNotify(IHRTCConnection* conn, const char* userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason)
【功能说明】
远端视频流状态变化回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。
- reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
onUserVolumeStatsNotify
virtual void onUserVolumeStatsNotify(IHRTCConnection* conn, const HRTCVolumeInfo* userVolumes, unsigned int userVolumesCount, unsigned int totalVolume)
【功能说明】
用户音量状态回调。通过enableUserVolumeNotify开启并设置回调周期,定时上报。
【回调参数】
- conn:连接对象。
- userVolumes:HRTCVolumeInfo,userId,volume。
- userVolumesCount:音量上报用户数组的大小。
- totalVolume:总音量。
onUserAuxiliaryStreamAvailable
virtual void onUserAuxiliaryStreamAvailable(IHRTCConnection* conn, const char* userId, bool available)
【功能说明】
远端开启,停止辅流后,触发此回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- available:true表示远端推辅流,false表示远端停止辅流。
onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(IHRTCConnection* conn, const char* userId, int width, int height)
【功能说明】
远端用户视频流第一帧解码成功,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- width:视频宽。
- height:视频高。
onFirstRemoteAuxiliaryStreamDecoded
virtual void onFirstRemoteAuxiliaryStreamDecoded(IHRTCConnection* conn, const char* userId, int width, int height)
【功能说明】
远端用户辅流第一帧解码成功,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- width:视频宽。
- height:视频高。
onRenderSuccessNotify
virtual void onRenderSuccessNotify(IHRTCConnection* conn, const char* userId, unsigned int isAux)
【功能说明】
媒体渲染成功回调,当前该数据主要用作无码流提示场景中从无码流状态恢复为有码流状态的依据。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- isAux:是否是辅流。
onAudioStatsNotify
virtual void onAudioStatsNotify(IHRTCConnection* conn, HRTCLocalAudioStats *localStats, unsigned int localStatsCount, HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
音频流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- localStats:本地音频发流统计,具体请参见HRTCLocalAudioStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地音频时,localStatsCount为0,localStats为空指针。
- 当无远端音频时,remoteStatsCount为0,remoteStats为空指针。
onVideoStatsNotify
virtual void onVideoStatsNotify(IHRTCConnection* conn, HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
视频流详情,2s触发一次回调。
- conn:连接对象。
- localStats:本地视频发流统计,具体请参见HRTCLocalVideoStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地视频时,localStatsCount为0,localStats为空指针。
- 当无远端视频时,remoteStatsCount为0,remoteStats为空指针。
onAuxiliaryStreamStatsNotify
virtual void onAuxiliaryStreamStatsNotify(IHRTCConnection* conn, HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
辅流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- localStats:本地辅流发流详情,具体请参见HRTCLocalVideoStats。
- localStatsCount:本地辅流发流数量。
- remoteStats:远端辅流收流详情,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:远端辅流收流数量。
onNetworkQualityNotify
virtual void onNetworkQualityNotify(IHRTCConnection* conn, HRTCQualityInfo* localQuality, unsigned int localQualityCount, HRTCQualityInfo* remoteQuality, unsigned int remoteQualityCount)
【功能说明】
房间内客户端基于流级别的网络质量实时上报,默认开启,每2s上报一次,有数据流时才会回调,音频流、视频流分开回调。
【回调参数】
- conn:连接对象。
- localQuality:本地上行网络质量,该参数暂时不使用。
- localQualityCount:正在上报的网络质量数量,该参数暂时不使用。
- remoteQualityCount:正在上报的流的数量,集合的大小。
onDestroyConnection
virtual void onDestroyConnection(IHRTCConnection* conn)
【功能说明】
调用release释放连接后,触发该回调,这是IHRTCConnection对象最后一个回调,需要在该回调触发后再去清理IHRTCConnectionEventHandler资源。
【回调参数】
conn:连接对象。
onMediaConnectStateChangedNotify
virtual void onMediaConnectStateChangedNotify(IHRTCConnection* conn, HRTCMediaConnStateTypes state, HRTCMediaConnChangeReason reason, const char* description)
【功能说明】
媒体服务器连接状态变更通知。
【回调参数】
- conn:连接对象。
- state:与媒体服务器连接状态,具体请参见HRTCMediaConnStateTypes。
- reason:连接状态改变原因,具体请参见HRTCMediaConnChangeReason。
- description:媒体连接变化原因描述。
加入房间过后,收到媒体服务的数据包时,返回Connected消息,超过6s没有收到包,则返回Failed消息。
onStartAllRemoteViewResult
void onStartAllRemoteViewResult(IHRTCConnection* conn, int errCode, const char* errMsg, unsigned int counts, const HRTCSetupRemoteViewResult* results)
【功能说明】
批量选看结果回调。
【回调参数】
- conn:连接对象。
- errCode:错误码。
- errMsg:错误信息。
- counts:results数组大小。
- results:批量选看结果,具体请参见HRTCSetupRemoteViewResult。
onStatsNotify
virtual void onStatsNotify(HRTCOnStats *rtcStats)
【功能说明】
当前会话统计回调。
【回调参数】
rtcStats:当前会话统计,具体请参见HRTCOnStats。
onVideoResolutionChangedNotify
void onVideoResolutionChangedNotify(IHRTCConnection* conn, const char* userId, int width, int height)
【功能说明】
远端视频分辨率大小改变,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- width:视频分辨率改变后的宽。
- height:视频分辨率改变后的高。
onRemoteAudioStatsNotify
void onRemoteAudioStatsNotify(IHRTCConnection* conn, const HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
远端音频流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats。
- remoteStatsCount:remoteStats数组长度。
onRemoteVideoStatsNotify
void onRemoteVideoStatsNotify(IHRTCConnection* conn, const HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
远端视频流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
onError
virtual void onError(IHRTCConnection* conn, int error, const char* msg)
【功能说明】
发生错误,触发此回调。返回客户端错误码或者服务端错误码。
【回调参数】
- conn:连接对象。
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onConnectionChangedNotify
virtual void onConnectionChangedNotify(IHRTCConnection* conn, HRTCConnStateType state, HRTCConnChangeReason reason, const char* description)
【功能说明】
连接状态改变回调。
【回调参数】
- conn:连接对象。
- state:连接状态类型,具体请参见HRTCConnStateTypes。
- reason:连接状态改变原因,具体请参见HRTCConnChangeReason。
- description:连接状态改变描述。
onAuthorizationExpired
virtual void onAuthorizationExpired(IHRTCConnection* conn);
【功能说明】
鉴权签名过期回调,需要app调用renewAuthorization更新签名。
【回调参数】
conn:连接对象。
onJoinRoomSuccess
virtual void onJoinRoomSuccess(IHRTCConnection* conn, const char* userId)
【功能说明】
成功加入房间,触发此回调。
【回调参数】
- conn:连接对象。
- userId:新加入房间的用户ID。
onJoinRoomFailure
virtual void onJoinRoomFailure(IHRTCConnection* conn, int error, const char* msg)
【功能说明】
加入房间失败,触发此回调。
【回调参数】
- conn:连接对象。
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onRejoinRoomSuccess
virtual void onRejoinRoomSuccess(IHRTCConnection* conn, const char* userId)
【功能说明】
重新加入房间回调。例如,网络异常后重连成功加入房间触发。
【回调参数】
- conn:连接对象。
- userId:用户ID。
onLeaveRoom
virtual void onLeaveRoom(IHRTCConnection* conn, HRTCLeaveReason reason, const HRTCStatsInfo &statsInfo)
【功能说明】
离开房间,触发此回调。
【回调参数】
- conn:连接对象。
- reason:离开的房间原因,具体请参见HRTCLeaveReason。
- statsInfo:卡顿统计信息,具体请参见HRTCStatsInfo。
onUserRoleChangedNotify
virtual void onUserRoleChangedNotify(IHRTCConnection* conn, HRTCRoleType oldRole, HRTCRoleType newRole)
【功能说明】
用户角色切换成功,触发此回调。
【回调参数】
- conn:连接对象。
- oldRole:切换前的角色。具体请参见HRTCRoleType。
- newRole:切换成功后的角色。具体请参见HRTCRoleType。
onRemoteUserOnline
virtual void onRemoteUserOnline(IHRTCConnection* conn, const char* userId, const char* userName)
【功能说明】
远端joiner用户加入当前房间,触发此回调。该回调提示有远端joiner用户加入了房间,并返回新加入用户的ID。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- userName:远端用户昵称。
onRemoteUserOffline
virtual void onRemoteUserOffline(IHRTCConnection* conn, const char* userId, int reason)
【功能说明】
远端joiner用户离开当前房间,触发此回调。
本端用户离开当前房间,会回调当前房间所有用户offline。
【回调参数】
- conn:连接对象。
- userId:离开房间的远端用户ID。
- reason:远端用户离线原因,预留参数。
onRemoteUserNameChangedNotify
virtual void onRemoteUserNameChangedNotify(IHRTCConnection* conn, const char* userId, const char* userName)
【功能说明】
远端用户昵称变化,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- userName:变更后的昵称。
onUserNameChangedNotify
virtual void onUserNameChangedNotify(IHRTCConnection* conn, const char* oldUserName, const char* newUserName)
【功能说明】
本端用户昵称变化,触发此回调。
【回调参数】
- conn:连接对象。
- oldUserName:变更前的昵称。
- newUserName:变更后的昵称。
onRemoteAudioStateChangedNotify
virtual void onRemoteAudioStateChangedNotify(IHRTCConnection* conn, const char* userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason)
【功能说明】
远端音频流状态变化回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。
- reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
onRemoteVideoStateChangedNotify
virtual void onRemoteVideoStateChangedNotify(IHRTCConnection* conn, const char* userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason)
【功能说明】
远端视频流状态变化回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。
- reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
onUserVolumeStatsNotify
virtual void onUserVolumeStatsNotify(IHRTCConnection* conn, const HRTCVolumeInfo* userVolumes, unsigned int userVolumesCount, unsigned int totalVolume)
【功能说明】
用户音量状态回调。通过enableUserVolumeNotify开启并设置回调周期,定时上报。
【回调参数】
- conn:连接对象。
- userVolumes:HRTCVolumeInfo,userId,volume。
- userVolumesCount:音量上报用户数组的大小。
- totalVolume:总音量。
onUserAuxiliaryStreamAvailable
virtual void onUserAuxiliaryStreamAvailable(IHRTCConnection* conn, const char* userId, bool available)
【功能说明】
远端开启,停止辅流后,触发此回调。
【回调参数】
- conn:连接对象。
- userId:远端用户ID。
- available:true表示远端开启推辅流,false表示远端停止辅流。
onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(IHRTCConnection* conn, const char* userId, int width, int height)
【功能说明】
远端用户视频流第一帧解码成功,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- width:视频宽。
- height:视频高。
onFirstRemoteAuxiliaryStreamDecoded
virtual void onFirstRemoteAuxiliaryStreamDecoded(IHRTCConnection* conn, const char* userId, int width, int height)
【功能说明】
远端用户辅流第一帧解码成功,触发此回调。
【回调参数】
- conn:连接对象。
- userId:用户ID。
- width:视频宽。
- height:视频高。
onAudioStatsNotify
virtual void onAudioStatsNotify(IHRTCConnection* conn, HRTCLocalAudioStats *localStats, unsigned int localStatsCount, HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
音频流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- localStats:本地音频发流统计,具体请参见HRTCLocalAudioStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地音频时,localStatsCount为0,localStats为空指针。
- 当无远端音频时,remoteStatsCount为0,remoteStats为空指针。
onVideoStatsNotify
virtual void onVideoStatsNotify(IHRTCConnection* conn, HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
视频流详情,2s触发一次回调。
- conn:连接对象。
- localStats:本地视频发流统计,具体请参见HRTCLocalVideoStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地视频时,localStatsCount为0,localStats为空指针。
- 当无远端视频时,remoteStatsCount为0,remoteStats为空指针。
onAuxiliaryStreamStatsNotify
virtual void onAuxiliaryStreamStatsNotify(IHRTCConnection* conn, HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
辅流详情,2s触发一次回调。
【回调参数】
- conn:连接对象。
- localStats:本地辅流发流详情,具体请参见HRTCLocalVideoStats。
- localStatsCount:本地辅流发流数量。
- remoteStats:远端辅流收流详情,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:远端辅流收流数量。
onNetworkQualityNotify
virtual void onNetworkQualityNotify(IHRTCConnection* conn, HRTCQualityInfo* localQuality, unsigned int localQualityCount, HRTCQualityInfo* remoteQuality, unsigned int remoteQualityCount)
【功能说明】
房间内客户端基于流级别的网络质量实时上报,默认开启,每2s上报一次,有数据流时才会回调,音频流、视频流分开回调。
【回调参数】
- conn:连接对象。
- localQuality:本地上行网络质量,该参数暂时不使用。
- localQualityCount:正在上报的网络质量数量,该参数暂时不使用。
- remoteQualityCount:正在上报的流的数量,集合的大小。
onRoomStreamStatusNotify
virtual void onRoomStreamStatusNotify(IHRTCConnection* conn, int audienceState)
【功能说明】
房间流状态通知,业务调用云侧暂停/恢复接口后,端侧收到该通知。
【回调参数】
- conn:连接对象。
- audienceState: 0表示暂停 ,1表示恢复
onDestroyConnection
virtual void onDestroyConnection(IHRTCConnection* conn)
【功能说明】
调用release释放连接后,触发该回调,这是IHRTCConnection对象最后一个回调,需要在该回调触发后再去清理IHRTCConnectionEventHandler资源。
【回调参数】
conn:连接对象。
onError
virtual void onError(int error, const char* msg)
【功能说明】
【回调参数】
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onJoinRoomSuccess
virtual void onJoinRoomSuccess(const char* roomId, const char* userId)
【功能说明】
成功加入房间,触发此回调。
【回调参数】
- roomId:新加入的房间ID。
- userId:新加入房间的用户ID。
onJoinRoomFailure
virtual void onJoinRoomFailure(int error, const char* msg)
【功能说明】
加入房间失败,触发此回调。
【回调参数】
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onLeaveRoom
virtual void onLeaveRoom(HRTCLeaveReason reason, const HRTCStatsInfo &statsInfo)
【功能说明】
离开房间,触发此回调。
【回调参数】
- reason:离开的房间原因,具体请参见HRTCLeaveReason。
- statsInfo:卡顿统计信息,具体请参见HRTCStatsInfo。
- APP在调用leaveRoom接口时退到登录界面,或者在收到onLeaveRoom回调,且回调消息不等于HRTC_LEAVE_REASON_USER_LEAVE_ROOM时(防止重复操作)退到登录界面。
- APP只在收到onLeaveRoom消息时退到登录界面。
onRemoteUserOnline
virtual void onRemoteUserOnline(const char* roomId, const char* userId, const char* userName)
【功能说明】
远端joiner用户加入当前房间,触发此回调。该回调提示有远端joiner用户加入了房间,并返回新加入用户的ID。
【回调参数】
- roomId:房间ID。
- userId:远端用户ID。
- userName:远端用户昵称。
onRemoteUserOffline
virtual void onRemoteUserOffline(const char* roomId, const char* userId, int reason)
【功能说明】
远端joiner用户离开当前房间,触发此回调。
本端用户离开当前房间,会回调当前房间所有用户offline。
- roomId:当前房间的房间ID。
- userId:离开房间的远端用户ID。
- reason:远端用户离线原因,预留参数。
onRemoteUserNameChangedNotify
virtual void onRemoteUserNameChangedNotify(const char* roomId, const char* userId, const char* userName)
【功能说明】
远端用户昵称变化,触发此回调。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- userName:变更后的昵称。
onUserNameChangedNotify
virtual void onUserNameChangedNotify(const char* oldUserName, const char* newUserName)
【功能说明】
本端用户昵称变化,触发此回调。
【回调参数】
- oldUserName:变更前的昵称。
- newUserName:变更后的昵称。
onFirstRemoteAuxiliaryStreamDecoded
virtual void onFirstRemoteAuxiliaryStreamDecoded(const char* roomId, const char* userId, int width, int height)
【功能说明】
接收到第一帧远端辅流并解码成功,触发此回调。
【回调参数】
- roomId:视频流对应的房间ID。
- userId:视频流对应的用户ID。
- width:视频流宽。
- height:视频流高。
onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(const char* roomId, const char* userId, int width, int height)
【功能说明】
接收到第一帧远端视频流并解码成功,触发此回调。
【回调参数】
- roomId:视频流对应的房间ID。
- userId:视频流对应的用户ID。
- width:视频流宽。
- height:视频流高。
onConnectionChangedNotify
virtual void onConnectionChangedNotify(HRTCConnStateTypes connType, HRTCConnChangeReason reason, const char* description)
【功能说明】
网络连接状态发生变化,触发此回调。
【回调参数】
- connType:网络连接状态。具体请参见HRTCConnStateTypes。
- reason:网络连接状态发生变化原因。具体请参见HRTCConnChangeReason。
- description:错误原因描述。
onDeviceStateChangedNotify
virtual void onDeviceStateChangedNotify(const char* deviceId, HRTCDeviceType deviceType, HRTCDeviceState deviceState)
【功能说明】
设备状态发生变化,触发此回调。
【回调参数】
- deviceId:系统设备标识,如系统音频播放设备标识可通过getPlaybackDevices获取。
- deviceType:系统设备类型,具体请参见HRTCDeviceType。
- deviceState:系统设备状态,具体请参见HRTCDeviceState。
通话前插拔设备会上报变化。
onDeviceVolumeChangedNotify
virtual void onDeviceVolumeChangedNotify(HRTCDeviceType deviceType, unsigned int volume, unsigned int muted)
【功能说明】
音频设备音量发生变化,触发此回调。
【回调参数】
- deviceType:系统设备类型,具体请参见HRTCDeviceType。
- volume:音量
- muted:true表示设备静音,false表示设备未静音。
通话前调整音频设备音量和静音会上报变化。
onLogUploadResult
virtual void onLogUploadResult(int result)
【功能说明】
日志上传结果回调。
【回调参数】
result:日志上传结果。
onLogUploadProgress
virtual void onLogUploadProgress(int progress)
【功能说明】
日志上传进度回调。
【回调参数】
progress:日志上传进度。取值范围为[0,100]。
onUserRoleChangedNotify
virtual void onUserRoleChangedNotify(const char* roomId, HRTCRoleType oldRole, HRTCRoleType newRole)
【功能说明】
用户角色切换成功,触发此回调。
【回调参数】
- roomId:发生角色切换的房间号。
- oldRole:切换前的角色。具体请参见HRTCRoleType。
- newRole:切换成功后的角色。具体请参见HRTCRoleType。
onScreenShareStarted
virtual void onScreenShareStarted()
【功能说明】
屏幕流共享开启,触发此回调。
onScreenShareStopped
virtual void onScreenShareStopped(int reason)
【功能说明】
屏幕流共享关闭,触发此回调。
【回调参数】
reason:屏幕共享关闭原因。
onUserAuxiliaryStreamAvailable
virtual void onUserAuxiliaryStreamAvailable(const char* roomId, const char* userId, bool available)
【功能说明】
远端开启,停止辅流后,触发此回调。
【回调参数】
- roomId:房间ID。
- userId:远端用户ID。
- available:true表示远端开启辅流,false表示远端停止辅流。
onVideoStatsNotify
virtual void onVideoStatsNotify(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
视频流详情,2s触发一次回调。
- localStats:本地视频发流统计,具体请参见HRTCLocalVideoStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地视频时,localStatsCount为0,localStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
- 当无远端视频时,remoteStatsCount为0,remoteStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
onAudioStatsNotify
virtual void onAudioStatsNotify(HRTCLocalAudioStats *localStats, unsigned int localStatsCount, HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
音频流详情,2s触发一次回调。
【回调参数】
- localStats:本地音频发流统计,具体请参见HRTCLocalAudioStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端音频收流统计,具体请参见HRTCRemoteAudioStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地音频时,localStatsCount为0,localStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
- 当无远端音频时,remoteStatsCount为0,remoteStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
onAuxiliaryStreamStatsNotify
virtual void onAuxiliaryStreamStatsNotify(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
辅流详情,2s触发一次回调。
【回调参数】
- localStats:本地辅流发流统计,具体请参见HRTCLocalVideoStats。
- localStatsCount:localStats数组长度。
- remoteStats:远端辅流收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
- 当无本地辅流时,localStatsCount为0,localStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
- 当无远端辅流时,remoteStatsCount为0,remoteStats为空指针,需要先判断不为空再使用,否则可能引发空指针错误。
onAuthorizationExpired
virtual void onAuthorizationExpired();
【功能说明】
鉴权签名过期回调,需要app调用更新签名。
onRemoteAudioStateChangedNotify
virtual void onRemoteAudioStateChangedNotify(const char* userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason)
【功能说明】
远端音频流状态变化回调。
【回调参数】
- userId:远端用户ID。
- state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。
- reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
onRemoteVideoStateChangedNotify
virtual void onRemoteVideoStateChangedNotify(const char* userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason)
【功能说明】
远端视频流状态变化回调。
【回调参数】
- userId:远端用户ID。
- state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。
- reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
onRenderAuxiliaryExternalVideoFrame
virtual void onRenderAuxiliaryExternalVideoFrame(const char* roomId, HRTCMediaDirection direction, const char* userId, HRTCVideoFrame& videoFrame)
【功能说明】
辅流自渲染回调。需要调用setAuxiliaryExternalVideoFrameOutput接口开启辅流自渲染,从而触发该回调。
【回调参数】
- roomId:房间ID。
- direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。
- userId:用户ID。
- videoFrame:辅流详情,具体请参见HRTCVideoFrame。
onRejoinRoomSuccess
virtual void onRejoinRoomSuccess(const char* roomId, const char* userId)
【功能说明】
重新加入房间回调。例如网络异常后重连成功加入房间触发。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
onNetworkTestQualitysection1015722617613
virtual void onNetworkTestQuality(HRTCNetworkQualityLevel level)
【功能说明】
加房间前网络探测回调。
【回调参数】
level:网络质量,具体请参见HRTCNetworkQualityLevel。
onNetworkTestResult
virtual void onNetworkTestResult(HRTCNetworkTestResult& networkTestResult)
【功能说明】
加房间前网络探测结果回调。
【回调参数】
networkTestResult:主要包括测试成功与否、上行和下行的网络带宽、丢包、延时和抖动,具体请参见HRTCNetworkTestResult。
onUserVolumeStatsNotify
virtual void onUserVolumeStatsNotify(const HRTCVolumeInfo* userVolumes, unsigned int userVolumesCount, unsigned int totalVolume)
【功能说明】
用户音量状态回调。通过enableUserVolumeNotify开启并设置回调周期,定时上报。
【回调参数】
- userVolumes:用户信息,具体请参见HRTCVolumeInfo。
- userVolumesCount:上报的用户人数,包含本地用户。
- totalVolume:总音量。
onTopActiveSpeaker
virtual void onTopActiveSpeaker(const char* userId, bool noStream)
【功能说明】
声控画面的用户ID变化时,触发此回调。该回调主要用于0号会场场景。
【回调参数】
userId:返回当前声控画面的用户ID。
noStream:该用户是否有视频流。
0号会场模式下,SDK会持续监测(根据一定时间内用户音量大小)当前最活跃的用户,如果最活跃用户发生变化,则触发此回调并上报当前最活跃的用户userId。
onLocalAudioStateChangedNotify
virtual void onLocalAudioStateChangedNotify(HRTCLocalAudioStreamState state, HRTCLocalAudioStreamStateReason reason)
【功能说明】
本地音频状态改变,触发此回调。
【回调参数】
- state:本地音频状态,具体请参见HRTCLocalAudioStreamState。
- reason:本地音频状态改变的原因,具体请参见HRTCLocalAudioStreamStateReason。
onLocalVideoStateChangedNotify
virtual void onLocalVideoStateChangedNotify(HRTCLocalVideoStreamState state, HRTCLocalVideoStreamStateReason reason)
【功能说明】
本地视频状态改变,触发此回调。
【回调参数】
- state:本地视频状态,具体请参见HRTCLocalVideoStreamState。
- reason:本地视频状态改变原因,具体请参见HRTCLocalVideoStreamStateReason。
onMediaConnectStateChangedNotify
virtual void onMediaConnectStateChangedNotify(HRTCMediaConnStateTypes state, HRTCMediaConnChangeReason reason, const char* description)
【功能说明】
媒体服务器连接状态变更通知。
【回调参数】
- state:与媒体服务器连接状态,具体请参见HRTCMediaConnStateTypes。
- reason:连接状态变化的原因,具体请参见HRTCMediaConnChangeReason。
- description:连接状态变化原因描述。
加入房间过后,收到媒体服务的数据包时,返回Connected消息,超过6s没有收到包,则返回Failed消息。
onStartAllRemoteViewResult
virtual void onStartAllRemoteViewResult(int errCode, const char* errMsg, unsigned int counts, const HRTCSetupRemoteViewResult* results)
【功能说明】
批量选看结果回调。
【回调参数】
- errCode:错误码。
- errMsg:错误信息。
- counts:results数组大小。
- results:批量选看结果,具体请参见HRTCSetupRemoteViewResult。
onStatsNotify
virtual void onStatsNotify(HRTCOnStats *rtcStats)
【功能说明】
当前会话统计回调。
【回调参数】
rtcStats:当前会话统计,具体请参见HRTCOnStats。
onLocalVideoStatsNotify
virtual void onLocalVideoStatsNotify(const HRTCLocalVideoStats *localStats, unsigned int localStatsCount)
【功能说明】
本地视频流详情,2s触发一次回调。
【回调参数】
- localStats:本地视频收流统计,具体请参见HRTCLocalVideoStats。
- localStatsCount:localStats数组长度。
onRemoteVideoStatsNotify
virtual void onRemoteVideoStatsNotify(const HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
远端视频流详情,2s触发一次回调。
【回调参数】
- remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。
- remoteStatsCount:remoteStats数组长度。
onLocalAudioStatsNotify
virtual void onLocalAudioStatsNotify(const HRTCLocalAudioStats *localStats, unsigned int localStatsCount)
【功能说明】
本地音频流详情,2s触发一次回调。
【回调参数】
- localStats:本地音频收流统计,具体请参见HRTCLocalAudioStats。
- localStatsCount:localStats数组长度。
onRemoteAudioStatsNotify
virtual void onRemoteAudioStatsNotify(const HRTCRemoteAudioStats *remoteStats, unsigned int remoteStatsCount)
【功能说明】
远端音频流详情,2s触发一次回调。
【回调参数】
- remoteStats:远端音频收流统计,具体请参见HRTCRemoteAudioStats。
- remoteStatsCount:remoteStats数组长度。
onVideoResolutionChangedNotify
virtual void onVideoResolutionChangedNotify(const char* userId, int width, int height)
【功能说明】
远端视频分辨率大小改变,触发此回调。
【回调参数】
- userId:用户ID。
- width:视频分辨率改变后的宽。
- height:视频分辨率改变后的高。
onAudioClipFinished
virtual void onAudioClipFinished(int soundId)
【功能说明】
音效文件播放结束,触发此回调。
【回调参数】
soundId:音效ID,取值>=0。
onAudioFileFinished
virtual void onAudioFileFinished()
【功能说明】
音频文件播放结束,触发此回调。
【回调参数】
无
onAudioMixStateChangedNotify
virtual void onAudioMixStateChangedNotify(HRTCAudioFileState state, HRTCAudioFileReason reason, unsigned long long value)
【功能说明】
混音音频文件播放状态改变,触发此回调。
【回调参数】
- state:音频播放状态,具体请参见HRTCAudioFileState。
- reason:音频播放状态改变原因,具体请参见HRTCAudioFileReason。
- value:state为HWRtcAudioFileOpenCompleted表示音频文件的时长,单位为ms;state为HWRtcAudioFilePositionUpdate表示当前播放的位置,单位为ms。其他情况下,value值无意义。
onSeiSendMsgSuccess
void onSeiSendMsgSuccess(const char* message);
【功能说明】
音频SEI信息发送成功回调。
回调参数
message:发送SEI信息的内容。
onSeiRecvMsg
void onSeiRecvMsg(const char* userId, const char* message);
【功能说明】
接收音频SEI信息回调。
回调参数
- userId:用户ID。
- message:接收SEI信息的内容。
onStartPublishStream
void onStartPublishStream(int code, const char* taskId);
【功能说明】
开始旁路(RTMP)推流回调。
回调参数
- code:错误码,成功为0,失败参考错误码HRTCErrorCode。
- taskId:任务Id。
onUpdateTransCoding
void onUpdateTransCoding(int code, const char* taskId);
【功能说明】
更新旁路(RTMP)推流消息。
回调参数
- code:错误码,成功为0,失败参考错误码HRTCErrorCode。
- taskId:任务Id。
onStopPublishStream
void onStopPublishStream(int code, const char* taskId);
【功能说明】
停止旁路(RTMP)推流消息。
回调参数
- code:错误码,成功为0,失败参考错误码HRTCErrorCode。
- taskId:任务Id。
onStreamPublishStateChange
void onStreamPublishStateChange(int code, const char* taskId, const HRTCUrlStatusList * urlStatu);
【功能说明】
RTMP推流状态回调。
回调参数
- code:错误码,成功为0,失败参考错误码HRTCErrorCode。
- taskId:任务Id。
- urlStatu:推流的url状态,具体请参见HRTCUrlStatusList。
onMultiRoomMediaRelayStateChanged
void onMultiRoomMediaRelayStateChanged(const char *roomId, HRTCMultiRoomMediaRelayState state, HRTCMultiRoomMediaRelayStateCode code);
【功能说明】
跨房状态回调。
【回调参数】
- roomId:跨房房间号。
- state:状态类型,具体请参见HRTCMultiRoomMediaRelayState。
- code:状态的具体原因,具体请参见HRTCMultiRoomMediaRelayStateCode。
onRemoteMicrophoneStateChanged
void onRemoteMicrophoneStateChanged(const char* userId, HRTCRemoteMicState state);
【功能说明】
远端麦克风设备状态变更通知。
【回调参数】
- userId:远端用户userId。
- state:麦克风设备状态,具体请参见HRTCRemoteMicState。