事件回调(IHRTCEngineEventHandler)
本章节介绍了Android SDK的回调接口IHRTCEngineEventHandler的详情。
接口 |
描述 |
---|---|
错误回调 |
|
加入房间成功回调 |
|
加入房间失败回调 |
|
离开房间回调 |
|
用户加入房间回调 |
|
用户离开房间回调 |
|
网络连接状态改变回调 |
|
日志上传结果回调 |
|
日志上传进度回调 |
|
用户角色改变回调 |
|
音频路由改变回调 |
|
辅流加入房间回调 |
|
回调远端的视频原始数据流 |
|
回调远端的音频原始数据流 |
|
视频流详情,2s触发一次回调 |
|
音频流详情,2s触发一次回调 |
|
辅流详情,2s触发一次回调 |
|
远端音频流状态变化回调 |
|
远端视频流状态变化回调 |
|
重新加入房间回调 |
|
提示频道远端用户以及自己的音量回调 |
|
会前网络探测质量上报回调 |
|
会前网络探测结果上报回调 |
|
远端用户第一帧解码成功回调 |
|
收到第一帧远端辅流并解码成功回调 |
|
签名过期回调 |
|
加入房间后的网络质量状态回调 |
|
本地音频流状态变化回调 |
|
本地视频流状态变化回调 |
|
辅流开启回调 |
|
辅流改变回调 |
|
媒体连接状态变化通知 |
|
本端修改昵称结果通知 |
|
远端用户昵称变更通知 |
|
本地音频首帧发送回调 |
|
本地视频首帧渲染回调 |
|
本端视频统计回调 |
|
远端视频统计回调 |
|
本端音频统计回调 |
|
远端音频统计回调 |
|
远端视频大小流改变回调 |
|
当前会话统计回调 |
|
混音音频文件播放状态改变回调 |
|
音频文件播放结束回调 |
|
音效文件播放结束回调 |
|
音频SEI信息发送成功回调 |
|
接收音频SEI信息回调 |
|
开始旁路(RTMP)推流回调 |
|
更新旁路(RTMP)推流消息 |
|
停止旁路(RTMP)推流消息 |
|
RTMP推流状态回调 |
|
本端禁音状态回调 |
|
远端音频最活跃用户回调 |
|
远端麦克风设备状态变更通知 |
|
用户级网络质量回调 |
|
跨房状态改变回调 |
onError
void onError(int error, String msg);
【功能说明】
错误回调。
- error:错误码,具体请参见HRTCErrorCode。
- msg:错误描述。
onJoinRoomSuccess
void onJoinRoomSuccess(String roomId, String userId);
【功能说明】
成功加入房间回调。
- roomId:房间ID。
- userId:用户ID。
onJoinRoomFailure
void onJoinRoomFailure(int error, String msg);
【功能说明】
加入房间失败回调。
【回调参数】
- error:错误码。
- msg:错误信息。
onLeaveRoom
void onLeaveRoom(HRTCLeaveReason reason, HRTCStatsInfo statsInfo);
【功能说明】
离开房间回调。
- reason:自己离开房间的原因,具体请参见HRTCLeaveReason。
- statsInfo:会议期间的统计信息,具体请参见HRTCStatsInfo。
onRemoteUserOnline
void onRemoteUserOnline(String roomId, String userId, String userName);
【功能说明】
用户加入房间成功回调,不包括自己。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- userName:用户名称。
onRemoteUserOffline
void onRemoteUserOffline(String roomId, String userId, int reason);
【功能说明】
用户离开房间回调。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- reason:预留字段。
onConnectionChangedNotify
void onConnectionChangedNotify(HRTCConnStateTypes connStateTypes, HRTCConnChangeReason connChangeReason, String description);
【功能说明】
网络连接状态改变。
- connStateTypes:网络连接状态,具体请参见HRTCConnStateTypes。
- connChangeReason:网络连接状态原因,具体请参见HRTCConnChangeReason。
- description:描述。
onLogUploadResult
void onLogUploadResult(int result);
【功能说明】
日志上传结果回调。
【回调参数】
result:日志上传结果,0表示成功,1表示失败。
onLogUploadProgress
void onLogUploadProgress(int progress);
【功能说明】
日志上传进度回调。
【回调参数】
progress:进度,取值范围为[0,100]。
onUserRoleChangedNotify
void onUserRoleChangedNotify(String roomId, HRTCRoleType oldRole, HRTCRoleType newRole);
【功能说明】
用户角色改变。
- roomId:发生角色切换的房间号。
- oldRole:改变前的角色,具体请参见HRTCRoleType。
- newRole:改变后的角色,具体请参见HRTCRoleType。
onAudioRouteStateChangedNotify
void onAudioRouteStateChangedNotify(HRTCAudioRoute route);
【功能说明】
音频路由改变。
【回调参数】
route:音频路由,具体请参见HRTCAudioRoute。
onUserAuxiliaryStreamAvailable
void onUserAuxiliaryStreamAvailable(String roomId, String userId, boolean available);
【功能说明】
辅流加入房间。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- available:true表示辅流开始推送,false表示辅流停止推送,提示用户关闭共享。
onRenderExternalVideoFrame
void onRenderExternalVideoFrame(String roomId, HRTCMediaDirection direction, String userId, HRTCVideoFrame videoFrame);
【功能说明】
回调远端的视频原始数据流。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- videoFrame:视频数据。
- direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。
onPlaybackExternalAudioFrame
void onPlaybackExternalAudioFrame(String roomId,HRTCMediaDirection direction, HRTCAudioFrame audioFrame);
【功能说明】
回调远端的音频原始数据流。
【回调参数】
- roomId:房间ID。
- audioFrame:音频数据,具体请参见HRTCAudioFrame。
- direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。
onVideoStatsNotify
void onVideoStatsNotify(List<HRTCLocalVideoStats> localStats, List<HRTCRemoteVideoStats> remoteStats);
【功能说明】
视频流详情,2s触发一次回调。
【回调参数】
- localStats:本地视频发流详情参数,具体请参见HRTCLocalVideoStats。
- remoteStats:远端视频收流详情参数,具体请参见HRTCRemoteVideoStats。
只有本地一个用户入会时,不回调该方法。
onAudioStatsNotify
void onAudioStatsNotify(List<HRTCLocalAudioStats> localStats, List<HRTCRemoteAudioStats> remoteStats);
【功能说明】
音频流详情,2s触发一次回调。
【回调参数】
- localStats:本地音频发流详情,具体请参见HRTCLocalAudioStats。
- remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats。
onAuxiliaryStreamStatsNotify
void onAuxiliaryStreamStatsNotify(List<HRTCLocalVideoStats> localStats, List<HRTCRemoteVideoStats> remoteStats);
【功能说明】
辅流详情,2s触发一次回调。
【回调参数】
- localStats:本地辅流的发流详情,具体请参见HRTCLocalVideoStats。
- remoteStats:远端辅流的收流详情,具体请参见HRTCRemoteVideoStats。
onRemoteAudioStateChangedNotify
void onRemoteAudioStateChangedNotify(String userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason);
【功能说明】
远端音频流状态变化回调。
【回调参数】
- userId:远端用户ID。
- state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。
- reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
onRemoteVideoStateChangedNotify
void onRemoteVideoStateChangedNotify(String userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason);
【功能说明】
远端视频流状态变化回调。
【回调参数】
- userId:远端用户ID。
- state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。
- reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
onRejoinRoomSuccess
void onRejoinRoomSuccess(String roomId, String userId);
【功能说明】
重新加入房间回调。例如,网络异常后重连成功加入房间时触发。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
onUserVolumeStatsNotify
void onUserVolumeStatsNotify(List<HRTCVolumeInfo> volumeInfos, int totalVolume);
【功能说明】
提示频道远端用户以及自己的音量回调。
- volumeInfos:回调发言人信息列表,目前最多支持4人,包括自己,具体请参见HRTCVolumeInfo。
- totalVolume:远端混音后的总音量。
onNetworkTestQuality
void onNetworkTestQuality(HRTCNetworkQualityLevel level);
【功能说明】
会前网络探测质量上报,探测成功后每隔两秒刷新该level值。
【回调参数】
level:具体请参见HRTCNetworkQualityLevel。
onNetworkTestResult
void onNetworkTestResult(HRTCNetworkTestResult networkTestResult);
【功能说明】
会前网络探测结果上报,如果探测成功,该回调会在探测30s后上报,如果失败随时上报。
【回调参数】
networkTestResult:网络探测结果数据,具体请参见HRTCNetworkTestResult。
onFirstRemoteVideoDecoded
void onFirstRemoteVideoDecoded(String roomId, final String userId, int width, int height);
【功能说明】
远端用户第一帧解码成功回调。
【回调参数】
- roomId:房间ID。
- userId:用户ID。
- width:视频宽度。
- height:视频高度。
onFirstRemoteAuxiliaryStreamDecoded
void onFirstRemoteAuxiliaryStreamDecoded(String roomId, String userId, int width, int height);
【功能说明】
接收到第一帧远端辅流并解码成功,触发此回调。
【回调参数】
- roomId:视频流对应的房间ID。
- userId:视频流对应的用户ID。
- width:视频流宽。
- height:视频流高。
onAuthorizationExpired
void onAuthorizationExpired();
【功能说明】
签名过期回调,需要app调用renewAuthorization更新签名。
【回调参数】
无
onNetworkQualityNotify
void onNetworkQualityNotify(List<HRTCQualityInfo> upStreamQuality, List<HRTCQualityInfo> downStreamQuality);
【功能说明】
加入房间后,基于流级别的网络质量状态回调。音频流、视频流分别回调。
【回调参数】
- 本端开始推流后,本端才会开始收到网络质量回调。
- upStreamQuality:上行网络质量状态,具体请参见HRTCQualityInfo。当前不可用。
- downStreamQuality:下行网络质量状态,具体请参见HRTCQualityInfo。
onLocalAudioStateChangedNotify
void onLocalAudioStateChangedNotify(HRTCLocalAudioStreamState state, HRTCLocalAudioStreamStateReason reason);
【功能说明】
本地音频流状态变化回调。
【回调参数】
- state:本地音频流状态,具体请参见HRTCLocalAudioStreamState。
- reason:本地音频流状态变化原因,具体请参见HRTCLocalAudioStreamStateReason。
onLocalVideoStateChangedNotify
void onLocalVideoStateChangedNotify(HRTCLocalVideoStreamState state, HRTCLocalVideoStreamStateReason reason);
【功能说明】
本地视频流状态变化回调。
【回调参数】
- state:本地视频流状态,具体请参见HRTCLocalVideoStreamState。
- reason:本地视频流状态变化原因,具体请参见HRTCLocalVideoStreamStateReason
onScreenShareStopped
void onScreenShareStopped(int reason)
【功能说明】
屏幕流共享状态改变,触发此回调。
【回调参数】
reason:屏幕共享状态改变原因。
- SDK 1.7.1及以上版本支持。
- reason:预留参数。
onMediaConnectStateChangedNotify
void onMediaConnectStateChangedNotify(HRTCMediaConnStateTypes state, HRTCMediaConnChangeReason reason, String description);
【功能说明】
媒体服务器连接状态变更通知。
【回调参数】
- state:连接状态,具体请参见HRTCMediaConnStateTypes。
- reason:连接状态变化的原因,具体请参见HRTCMediaConnChangeReason。
- description:连接状态变化原因描述。
加入房间过后,收到媒体服务的数据包时,返回Connected消息,超过6s没有收到包,则返回Failed消息。
onUserNameChangedNotify
void onUserNameChangedNotify(String oldUserName, String newUserName);
【功能说明】
调用changeUserName接口成功后,上报此事件通知修改昵称结果。
【回调参数】
- oldUserName:修改前昵称。
- newUserName:修改后昵称。
onRemoteUserNameChangedNotify
void onRemoteUserNameChangedNotify(String roomId,String userId, String userName);
【功能说明】
远端用户修改昵称后,通知本端昵称变更。
【回调参数】
- userId:修改昵称的用户id。
- userName:修改后的昵称。
- roomId:修改昵称的房间。
onFirstLocalAudioFrame
void onFirstLocalAudioFrame(int elapsed);
【功能说明】
本地音频首帧发送回调。
【回调参数】
elapsed:从入会到本地音频首帧发送所用的时间,单位为ms。
onFirstLocalVideoFrameNotify
void onFirstLocalVideoFrameNotify(int elapsed);
【功能说明】
本地视频首帧渲染回调。
【回调参数】
elapsed:从开始采集到本地视频首帧渲染所用的时间,单位为ms。
onLocalVideoStatsNotify
void onLocalVideoStatsNotify(List<HRTCLocalVideoStats> localStats);
【功能说明】
本端视频流详情,2s触发一次回调。
【回调参数】
localStats:本地视频发流详情参数,具体请参见HRTCLocalVideoStats。
onRemoteVideoStatsNotify
void onRemoteVideoStatsNotify(List<HRTCRemoteVideoStats> remoteStats);
【功能说明】
远端视频流详情,2s触发一次回调。
【回调参数】
remoteStats:远端视频收流详情参数,具体请参见HRTCRemoteVideoStats。
onLocalAudioStatsNotify
void onLocalAudioStatsNotify(List<HRTCLocalAudioStats> localStats);
【功能说明】
本端音频流详情,2s触发一次回调。
【回调参数】
localStats:本地音频发流详情,具体请参见HRTCLocalAudioStats。
onRemoteAudioStatsNotify
void onRemoteAudioStatsNotify(List<HRTCRemoteAudioStats> remoteStats);
【功能说明】
远端音频流详情,2s触发一次回调。
【回调参数】
remoteStats:远端音频收流详情,具体请参见HRTCRemoteAudioStats。
onVideoResolutionChangedNotify
void onVideoResolutionChangedNotify(String userid, int width, int height);
【功能说明】
远端视频大小改变回调。
【回调参数】
- userId:用户ID。
- width:视频流宽度。
- height:视频流高度。
onStatsNotify
void onStatsNotify(List<HRTCOnStats> hrtcOnStats);
【功能说明】
当前会话统计回调。
【回调参数】
hrtcOnStats:会话统计信息,具体请参见HRTCOnStats。
onAudioMixStateChangedNotify
void onAudioMixStateChangedNotify(HRTCAudioFileState state, HRTCAudioFileReason reason, long value);
【功能说明】
音频文件播放状态改变回调。
- state:音频文件播放状态,具体请参见HRTCAudioFileState。
- reason:音频文件播放状态变化原因,具体请参见HRTCAudioFileReason。
- value:state为HRTC_AUDIO_FILE_OPEN_COMPLETED表示音频文件的时长,单位为ms;state为HRTC_AUDIO_FILE_POSITION_UPDATE表示当前播放的位置,单位为ms。其他情况下,value值无意义。
onAudioClipFinished
void onAudioClipFinished(int soundId);
【功能说明】
音效文件播放结束回调。
【回调参数】
soundId:音效ID,取值>= 0。
onSeiSendMsgSuccess
void onSeiSendMsgSuccess(String message);
【功能说明】
音频SEI信息发送成功回调。
【回调参数】
message:发送SEI信息的内容。
onSeiRecvMsg
void onSeiRecvMsg(String userId, String message);
【功能说明】
接收音频SEI信息回调。
【回调参数】
- userId:用户ID。
- message:接收SEI信息的内容。
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:正在上报的流的数量,集合的大小。
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:日志上传结果。
- 0:上传成功
- >0:上传失败
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。
onScreenShareStopped(int reason)
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。
onNetworkTestQuality
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,失败请参考错误码。
- taskId:任务Id。
onUpdateTransCoding
void onUpdateTransCoding(int code, const char* taskId);
【功能说明】
更新旁路(RTMP)推流消息。
回调参数
- code:错误码,成功为0,失败请参考错误码。
- taskId:任务Id。
onStopPublishStream
void onStopPublishStream(int code, const char* taskId);
【功能说明】
停止旁路(RTMP)推流消息。
回调参数
- code:错误码,成功为0,失败请参考错误码。
- taskId:任务Id。
onStreamPublishStateChange
void onStreamPublishStateChange(int code, const char* taskId, const HRTCUrlStatusList * urlStatu);
【功能说明】
RTMP推流状态回调。
回调参数
- code:错误码,成功为0,失败请参考错误码。
- taskId:任务Id。
- urlStatu:推流的url状态,具体请参见HRTCUrlStatusList。
onLocalAudioMutedStatusDetected
void onLocalAudioMutedStatusDetected();
【功能说明】
本端禁音检测回调。通过enableUserVolumeNotify开启并设置回调周期,禁音检测以6次音量回调为一个上报周期,enableUserVolumeNotify的参数建议设置成200(即最快1200ms触发禁音检测回调一次)。
【回调参数】
无
onTopActiveSpeaker
public void onTopActiveSpeaker(String userId, boolean noStream);
【功能说明】
上报当前最活跃的用户userId。该回调主要用于0号会场场景(额外订阅uid为0的用户音频)。
【回调参数】
userId:返回当前远端音量最活跃的用户ID。
noStream:该用户是否有视频流。
0号会场模式下,SDK会持续监测(根据一定时间内用户音量大小)当前最活跃的用户,如果最活跃用户发生变化,则触发此回调并上报当前最活跃的用户userId。
onRemoteMicrophoneStateChanged
void onRemoteMicrophoneStateChanged(String userId, HRTCRemoteMicState state);
【功能说明】
远端麦克风设备状态变更回调。
【回调参数】
- userId:用户id。
- state:麦克风设备状态,具体请参见HRTCRemoteMicState。
onUserNetworkQualityNotify
void onUserNetworkQualityNotify(String roomId, String userId, HRTCNetworkQualityLevel txQuality, HRTCNetworkQualityLevel rxQuality);
【功能说明】
支持用户上报各自与近端SFU间的上下行网络质量,基于用户级,使本地用户能获取同房间内远端用户与其近端SFU间的网络质量。CMD广播时为房间级,将广播给订阅了此主播流的用户或者此主播被选为TOPN用户且观众订阅了该TOPN用户。
【回调参数】
- roomId:用户所在房间号。
- userId:上报的用户id,0为本地,非0为远端。
- txQuality:该用户的上行网络质量,具体请参见HRTCNetworkQualityLevel。
- rxQuality:该用户的下行网络质量,具体请参见HRTCNetworkQualityLevel。
- 此接口不支持跨房场景、WebRTC场景。
- 不支持RTSA。
onMultiRoomMediaRelayStateChanged
void onMultiRoomMediaRelayStateChanged(const char *roomId, HRTCMultiRoomMediaRelayState state, HRTCMultiRoomMediaRelayStateCode code);
【功能说明】
跨房状态回调。
【回调参数】
- roomId:跨房房间号。
- state:状态类型,具体请参见HRTCMultiRoomMediaRelayState。
- code:状态的具体原因,具体请参见HRTCMultiRoomMediaRelayStateCode。