● 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。
onScreenShareStarted
virtual void onScreenShareStarted()
【功能说明】
屏幕流共享开启,触发此回调。
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)
【功能说明】
声控画面的用户ID变化时,触发此回调。该回调主要用于0号会场场景。
【回调参数】
userId:返回当前声控画面的用户ID。
注意
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。
onStreamPublishStateChangedNotify
void onStreamPublishStateChangedNotify(int code, const char* taskId, const HRTCUrlStatusList * urlStatu);
【功能说明】
RTMP推流状态回调。
回调参数
● code:错误码,成功为0,失败请参考错误码。
● taskId:任务Id。
● urlStatu:推流的url状态,具体请参见HRTCUrlStatusList。
onRemoteCommandPacket
void onRemoteCommandPacket(const char *userId, const char *packet, unsigned int length);
【功能说明】
媒体通道Cmd命令数据包接收。
【回调参数】
● userId:用户id。
● packet:数据包内容。
● length:数据包长度。
onLocalAudioMutedStatusDetected
void onLocalAudioMutedStatusDetected();
【功能说明】
本端禁音检测回调
【回调参数】
无
onTopActiveSpeaker
public void onTopActiveSpeaker(String userId);
【功能说明】
上报当前最活跃的用户userId。该回调主要用于0号会场场景(额外订阅uid为0的用户 音频)。
【回调参数】
userId:返回当前远端音量最活跃的用户ID。