文档首页 > > SDK参考> Electron SDK> 接口参考>

事件回调

事件回调

分享
更新时间:2021/01/07 GMT+08:00
表1 ClientEvent事件

接口

描述

joinedRoom

本地用户加入房间事件。

rejoinedRoom

本地用户重新加入房间事件。

leaveRoom

本地用户离开房间事件。

error

发生错误时上报的事件。

roleChanged

本地用户角色切换时上报的事件通知。

userJoined

远端用户加入房间时上报的事件通知。

userOffline

远端用户离开房间时上报的事件通知。

connectionStateChanged

网络连接状态已改变时上报的事件通知。

signatureExpired

签名到期时上报的事件通知。

userVolumeStats

远端用户音量统计的事件通知。

audioStats

本地/远端的音频流统计信息的事件通知。

videoStats

本地/远端的视频流统计信息的事件通知。

networkTestQuality

通话前本地用户的网络质量水平上报通知。

networkTestResult

通话前本地用户的网络质量分析数据上报通知。

deviceVolumeChanged

音频设备播放音量改变的事件通知。

remoteAudioStateChanged

远端用户音频状态已改变事件通知。

remoteVideoStateChanged

远端用户视频状态已改变事件通知。

joinedRoom

【事件说明】

本地用户加入房间事件,本地用户加入房间后会收到该事件通知。

【事件参数】

roomId:必选,string类型,本地用户进入房间时的房间Id。

rejoinedRoom

【事件说明】

本地用户重新加入事件,本地用户因网络中断的原因,重新加入房间后会收到该事件通知。

【事件参数】

roomId:必选,string类型,本地用户进入房间时的房间Id。

error

【事件说明】

发生错误时上报的事件通知。

【事件参数】

  • err:必选,number类型,错误码。
  • msg:必选,string类型,错误说明。

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。

    HRTCConnStateTypes: {

    HRTC_CONN_DISCONNECTED = 0,连接断开;

    HRTC_CONN_CONNECTING = 1,建立网络连接中;

    HRTC_CONN_CONNECTED = 2,网络连接成功;

    HRTC_CONN_RECONNECTING = 3,重新建立网络连接中;

    HRTC_CONN_FAILED = 4,网络连接失败。

    }

  • reason:必选,HRTCConnChangeReason类型,用户ID

    HRTCConnChangeReason: {

    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,房间解散

    }

【注意事项】

网络连接改变原因当前仅作参考。

signatureExpired

【事件说明】

签名到期时上报的事件通知。

【事件参数】

【注意事项】

收到该事件后需要调用renewSignature接口更新签名。

userVolumeStats

【事件说明】

远端用户音量统计的事件通知。

【事件参数】

  • volumes:必选,Array<HRTCVolumeInfo>类型,音量和用户信息数组。

    HRTCVolumeInfo:{

    userId:string类型,用户ID;

    volume:number类型,该用户的说话音量。

    }

  • volumeCounts:必选,number类型,信息数组中数据个数。
  • totalVolume:必选,number类型,总音量,0-100。

audioStats

【事件说明】

本地/远端的音频流统计信息的事件通知

【事件参数】
  • localStats:必选,Array<HRTCLocalAudioStats>类型,本地音频统计信息。

    HRTCLocalAudioStats:{

    • sampleRate:number类型,音频采样率。
    • channels:number类型,音频声道数。
    • sendVEL:number类型,电平信号数。
    • bitRate:number类型,音频码率。
    • packetLoss:number类型,丢包数。
    • delay:number类型,延迟时间,单位毫秒。
    • jitter:number类型,抖动量。
    • bytes:发送字节数。

      }

  • remoteStats:必选,Array<HRTCRemoteAudioStats>类型,远端音频统计信息。

    HRTCRemoteAudioStats:{

    • userId:string类型,远端用户ID。
    • sampleRate:number类型,音频采样率。
    • channels:number类型,音频声道数。
    • recvVEL:number类型,电平信号数。
    • bitRate:number类型,音频码率。
    • packetLoss:number类型,丢包数。
    • delay:number类型,延迟时间,单位毫秒。
    • jitter:number类型,抖动量。
    • bytes:发送字节数。

      }

【注意事项】

当前统计数据仅供参考。

videoStats

【事件说明】

本地/远端的视频流统计信息的事件通知。

【事件参数】
  • localStats:必选,Array<HRTCLocalVideoStats>类型,本地音频统计信息。

    HRTCLocalVideoStats:{

    • width:number类型,视频分辨率的宽度,单位为pixel。
    • height:number类型,视频分辨率的高端,单位为pixel。
    • bitRate:number类型,视频码率。
    • frameRate:number类型,视频帧率,单位为帧/秒
    • packetLoss:number类型,丢包数
    • delay:number类型,延迟,单位毫秒
    • jitter:number类型,抖动
    • bytes:number类型,发送字节数

      }

  • remoteStats:必选,Array<HRTCRemoteVideoStats>类型,远端音频统计信息。

    HRTCRemoteVideoStats:{

    • userId, string类型,远端用户ID。
    • width:number类型,视频分辨率的宽度,单位为pixel。
    • height:number类型,视频分辨率的高端,单位为pixel。
    • buffered: number类型。
    • bitRate:number类型,视频码率。
    • frameRate:number类型,视频帧率,单位为帧/秒。
    • packetLoss:number类型,丢包数。
    • delay:number类型,延迟,单位为毫秒。
    • jitter:number类型,抖动。
    • bytes:number类型,发送字节数。

      }

【注意事项】

当前统计数据仅供参考。

networkTestQuality

【事件说明】

通话前本地用户的网络质量水平上报通知。

【事件参数】

level:HRTCNetworkQualityLevel类型,网络质量水平,值越大,网络质量越好。

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 {

    bitRate:number类型, 码率。

    packetLoss:number类型,丢包数。

    delay:number类型,延时。

    jitter:number类型,网络波动。

    }

【注意事项】

当前探测数据仅供参考。

deviceVolumeChanged

【事件说明】

音频设备播放音量改变的事件通知。

【事件参数】

  • deviceType:必选,HRTCDeviceType类型。
  • HRTCDeviceType:{

    HRTC_DEVTYPE_AUDIO_PLAYBACK = 0, 音频播放设备。

    HRTC_DEVTYPE_AUDIO_RECORDING = 1, 音频采集设备。

    HRTC_DEVTYPE_VIDEO_CAPTURE = 1, 视频采集设备。

    }

  • volume:必选,number类型,音量大小,范围0-100。
  • muted:必选,number类型,是否静音,1为静音,0为非静音。

remoteAudioStateChanged

【事件说明】

远端用户音频状态已改变事件通知。

【事件参数】

  • roomId:必选,string类型,房间ID。
  • userId:必选,string类型,用户ID。
  • state,必选,HRTCRemoteAudioStreamState类型,音频状态。

    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,远端用户启用音频。

    }

分享:

    相关文档

    相关产品

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

智能客服提问云社区提问