事件回调
接口 |
描述 |
---|---|
本地用户加入房间事件。 |
|
本地用户重新加入房间事件。 |
|
本地用户离开房间事件。 |
|
发生错误时上报的事件。 |
|
本地用户角色切换时上报的事件通知。 |
|
远端用户加入房间时上报的事件通知。 |
|
远端用户离开房间时上报的事件通知。 |
|
网络连接状态已改变时上报的事件通知。 |
|
签名到期时上报的事件通知。 |
|
远端用户音量统计的事件通知。 |
|
本地/远端的音频流统计信息的事件通知。 |
|
本地/远端的视频流统计信息的事件通知。 |
|
通话前本地用户的网络质量水平上报通知。 |
|
通话前本地用户的网络质量分析数据上报通知。 |
|
音频设备播放音量改变的事件通知。 |
|
远端用户音频状态已改变事件通知。 |
|
远端用户视频状态已改变事件通知。 |
rejoinedRoom
【事件说明】
本地用户重新加入事件,本地用户因网络中断的原因,重新加入房间后会收到该事件通知。
【事件参数】
roomId:必选,string类型,本地用户进入房间时的房间Id。
leaveRoom
【事件说明】
本地用户离开房间事件,本地用户离开房间后会收到该事件通知
- reason:必选,HRTCLeaveReason类型,本地用户离开房间的原因。
表2 HRTCLeaveReason说明 枚举值
描述
HRTC_LEAVE_REASON_USER_LEAVE_ROOM=0
用户主动离开。
HRTC_LEAVE_REASON_SERVER_ERROR=1
服务器异常。
HRTC_LEAVE_REASON_BREAKDOWN=2
sfu服务器故障。
HRTC_LEAVE_REASON_SERVICE_UNREACHABLE=3
服务不可达。
HRTC_LEAVE_REASON_INTERNAL_ERROR=4
内部错误。
HRTC_LEAVE_REASON_KICKED_OFF=5
被踢,相同用户Id在其他设备登陆。
HRTC_LEAVE_REASON_SIGNATURE_EXPIRED=6
签名过期。
HRTC_LEAVE_REASON_RECONNECT_FAILED=7
重连超时。
HRTC_LEAVE_REASON_NETWORK_TEST=8
网络探测原因。
HRTC_LEAVE_REASON_USER_REMOVED=9
用户被禁/移除。
HRTC_LEAVE_REASON_ROOM_DISMISSED
房间被解散。
- statsInfo:必选,HRTCStatsInfo类型,本地用户通话的统计信息。
- HRTCStatsInfo: {
- mildlyFrozenCounts:number类型,轻微卡顿次数。
- severelyFrozenCounts:number类型,严重卡顿次数。
- totalMildlyFrozenTime:number类型,轻微卡顿总时长,单位为秒。
- totalSeverelyFrozenTime:number类型,严重卡顿总时长,单位为秒。
- totalActiveTime:number类型,在线总时长,单位为秒。
}
【注意事项】
当前statsInfo中的统计信息并不完全准确,仅供参考。
roleChanged
【事件说明】
本地用户角色切换时上报的事件通知。
【事件参数】
- roomId:必选,string类型,房间ID。
- oldRole: 必选,HRTCRoleType类型,切换前的角色。
- newRole:必选,HRTCRoleType类型,切换后的角色。
- HRTCRoleType: {
- 0:双向流角色,可以发送流,也可以接受流。
- 1:发布者角色,只发送流,不接收流。
- 2:观看者角色,只接收流,不发送流。
}
userJoined
【事件说明】
远端用户加入房间时上报的事件通知。
【事件参数】
- roomId:必选,string类型,房间ID。
- userId:必选,string类型,用户ID。
- userName:必选,string类型,用户名称。
userOffline
【事件说明】
远端用户离开房间时上报的事件通知。
【事件参数】
- roomId:必选,string类型,房间ID。
- userId:必选,string类型,用户ID。
- reason:必选,number类型,用户离开房间原因,当前暂未实现,保留字段。
connectionStateChanged
【事件说明】
网络连接状态已改变时上报的事件通知。
- state:必选,HRTCConnStateTypes类型,房间ID。
HRTC_CONN_DISCONNECTED = 0,连接断开;
HRTC_CONN_CONNECTING = 1,建立网络连接中;
HRTC_CONN_CONNECTED = 2,网络连接成功;
HRTC_CONN_RECONNECTING = 3,重新建立网络连接中;
HRTC_CONN_FAILED = 4,网络连接失败。
}
- reason:必选,HRTCConnChangeReason类型,用户ID
HRTC_CONN_CHANGED_CONNECTING = 0,正在连接
HRTC_CONN_CHANGED_JOIN_SUCCESS = 1, 加入房间成功
HRTC_CONN_CHANGED_RECONNECTING = 2, 重连中
HRTC_CONN_CHANGED_RECONNECT_SUCCESS=3, 重连成功
HRTC_CONN_CHANGED_JOIN_FAILED = 4,加入房间失败
HRTC_CONN_CHANGED_RECONNCET_FAILED = 5,重连失败
HRTC_CONN_CHANGED_INTERRUPTED = 6,连接中断
HRTC_CONN_CHANGED_KEEP_ALIVE_TIMEOUT = 7,心跳超时
HRTC_CONN_CHANGED_LEAVE_ROOM = 8,主动离开房间
HRTC_CONN_CHANGED_JOIN_ROOM_SERVER_ERROR=9,服务器异常
HRTC_CONN_CHANGED_SFU_BREAKDOWN = 10,媒体服务故障
HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_FAILED = 11,鉴权失败,appid或者签名错误
HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_RETRY = 12,鉴权重试
HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_CLOCK_SYNC = 13,时钟同步
HRTC_CONN_CHANGED_JOIN_ROOM_URL_NOT_RIGHT = 14,URL错误 400
HRTC_CONN_CHANGED_JOIN_ROOM_SERVICE_UNREACHABLE = 15,服务不可达503
HRTC_CONN_CHANGED_INTERNAL_ERROR = 16,内部错误
HRTC_CONN_CHANGED_KICKED_OFF = 17,被踢
HRTC_CONN_CHANGED_SIGNATURE_EXPIRED = 18,签名过期
HRTC_CONN_REASON_USER_REMOVED = 19,用户移除
HRTC_CONN_REASON_ROOM_DISMISSED = 20,房间解散
}
【注意事项】
网络连接改变原因当前仅作参考。
audioStats
【事件说明】
本地/远端的音频流统计信息的事件通知
- localStats:必选,Array<HRTCLocalAudioStats>类型,本地音频统计信息。
- remoteStats:必选,Array<HRTCRemoteAudioStats>类型,远端音频统计信息。
【注意事项】
当前统计数据仅供参考。
videoStats
【事件说明】
本地/远端的视频流统计信息的事件通知。
- localStats:必选,Array<HRTCLocalVideoStats>类型,本地音频统计信息。
- remoteStats:必选,Array<HRTCRemoteVideoStats>类型,远端音频统计信息。
【注意事项】
当前统计数据仅供参考。
networkTestQuality
【事件说明】
通话前本地用户的网络质量水平上报通知。
【事件参数】
level:HRTCNetworkQualityLevel类型,网络质量水平,值越大,网络质量越好。
- HRTC_NETWORK_LEVEL_1:网络质量级别1级。
- HRTC_NETWORK_LEVEL_2:网络质量级别2级。
- HRTC_NETWORK_LEVEL_3:网络质量级别3级。
- HRTC_NETWORK_LEVEL_4:网络质量级别4级。
}
【注意事项】
当前探测数据仅供参考。
networkTestResult
【事件说明】
通话前本地用户的网络质量分析数据上报通知
【事件参数】
testResult:必选,HRTCNetworkTestResult类型,网络探测分析数据。
- HRTCNetworkTestResult:{
testState:HRTCNetworkTestState类型,测试状态。
uplinkResult:HRTCNetworkTestResultParam类型,上行网络测试数据。
downlinkResult:HRTCNetworkTestResultParam类型,下行网络测试数据。
}
- HRTCNetworkTestState:{
HRTC_NETWORK_TEST_OK=0, 网络测试成功。
HRTC_NETWORK_TEST_FAIL=1, 网络测试成功。
}
- HRTCNetworkTestResultParam {
packetLoss:number类型,丢包数。
delay:number类型,延时。
jitter:number类型,网络波动。
}
【注意事项】
当前探测数据仅供参考。
remoteAudioStateChanged
【事件说明】
远端用户音频状态已改变事件通知。
【事件参数】
- roomId:必选,string类型,房间ID。
- userId:必选,string类型,用户ID。
- state,必选,HRTCRemoteAudioStreamState类型,音频状态。
HRTC_REMOTE_AUDIO_STATE_STOPPED = 0, 音频流停止发送。
HRTC_REMOTE_AUDIO_STATE_STARTING = 1,音频流发送中。
}
- reason:必选,HRTCRemoteAudioStreamStateReason类型, 状态改变原因。
HRTCRemoteAudioStreamStateReason:{
HRTC_REMOTE_AUDIO_REASON_REMOTE_OFFLINE = 0, 远端用户离线。
HRTC_REMOTE_AUDIO_REASON_REMOTE_MUTED = 1,远端用户禁用音频。
HRTC_REMOTE_AUDIO_REASON_REMOTE_UNMUTED = 2,远端用户启用音频。
}
remoteVideoStateChanged
【事件说明】
远端用户视频状态已改变事件通知。
【事件参数】
- roomId:必选,string类型,房间ID。
- userId:必选,string类型,用户ID。
- state:必选,HRTCRemoteVideoStreamState类型,视频状态。
- reason:必选,HRTCRemoteVideoStreamStateReason, 状态改变原因。
- HRTCRemoteVideoStreamState:{
HRTC_REMOTE_VIDEO_STATE_STOPPED = 0,视频流停止发送。
HRTC_REMOTE_VIDEO_STATE_STARTING = 1,视频流发送中。
}
- HRTCRemoteVideoStreamStateReason:{
HRTC_REMOTE_VIDEO_REASON_REMOTE_OFFLINE = 0,远端用户离线。
HRTC_REMOTE_VIDEO_REASON_REMOTE_MUTED = 1,远端用户禁用音频。
HRTC_REMOTE_VIDEO_REASON_REMOTE_UNMUTED = 2,远端用户启用音频。
}
