实时音视频 RTC实时音视频 RTC

文档首页> 实时音视频 RTC> 客户端SDK参考> Web SDK> 接口参考> 客户端事件通知(ClientEvent)
更新时间:2021/07/02 GMT+08:00
分享

客户端事件通知(ClientEvent)

本章节介绍了Web SDK的ClientEvent事件。

表1 ClientEvent事件

接口

描述

peer-join

远端用户进入房间事件。

peer-leave

远端用户退出房间事件。

stream-added

远端流添加事件。

stream-removed

远端流删除事件。

stream-updated

远端流更新事件。

stream-subscribed

远端流订阅成功事件。

client-banned

用户被踢,离开房间事件。

error

客户端出现错误事件。

connection-state-changed

client连接状态变更事件。

mute-audio

远端流禁用音频通知事件。

unmute-audio

远端流启用音频通知事件。

mute-video

远端流禁用视频通知事件。

unmute-video

远端流启用视频通知事件。

log-upload-result

日志上传结果通知事件。

log-upload-process

日志上传进度通知事件。

signature-expired

签名过期事件。

camera-changed

摄像头设备变更事件。

recording-device-changed

录音设备变更事件。

playback-device-changed

播放设备变更事件。

network-quality

网络上下行质量报告事件。

stream-interrupted

远端流处于无码流状态事件。该事件为1.4.0版本新增。

stream-recovered

远端流码流恢复事件。该事件为1.4.0版本新增。

peer-join

【事件说明】

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

【事件参数】

peerJoinEvent:必选,PeerJoin类型,用户信息。

PeerJoin定义为:{

  • userId:必选,string[128]类型,用户标识。
  • userName:可选,string[128]类型,用户名称。

}

peer-leave

事件说明

远端用户离开房间事件,远端用户离开房间后会收到该事件通知。

事件参数

peerLeaveEvent:必选,PeerLeaveInfo类型,用户离开信息。

PeerLeaveInfo定义为:{

  • userId:必选,string[128]类型,用户标识。
  • userName:可选,string[128]类型,用户名称。
  • reason:可选,ByeReason类型。

}

ByeReason定义为:{

  • code:number类型, 离开原因枚举,取值如表2所示。
  • msg: string类型,原因描述。
}
表2 离开房间原因

枚举值

描述

0

用户主动离开

1

服务器异常

2

sfu服务故障

3

服务不可达503

4

内部错误

5

被踢出房间

6

签名过期

7

重连超时

8

网络检测,UI不需要关注该错误码,不对外体现

9

用户移除

10

房间解散

stream-added

事件说明

远端流添加事件,当选看远端用户成功后会收到该事件通知。

事件参数

stream:必选,RemoteStream类型,远端流对象。

stream-removed

事件说明

远端流删除事件,当取消选看远端用户或者原来已经选看的远端用户退出房间后会收到该事件通知。

事件参数

stream:必选,RemoteStream类型,远端流对象。

stream-updated

事件说明

远端流更新事件,当远端用户的流发生变化,例如添加或者移除音视频轨,视频轨规格变化时会收到该事件通知。

事件参数

stream:必选,RemoteStream类型,远端流对象。

stream-subscribed

事件说明

远端流订阅成功事件,当订阅远端流成功后会收到该事件通知。

事件参数

stream:必选,RemoteStream类型,远端流对象。

client-banned

事件说明

用户被踢下线事件,当用户以相同的userId在其他client加入房间后,被踢的client会收到该事件通知。

事件参数

clientBannedEvent:必选,KickedInfo类型,

KickedInfo定义为:{
  • userId:必选,string[128]类型,被踢用户标识。
  • reason:必选,string类型,原因描述。

}

error

事件说明

客户端错误事件,当出现不可恢复的错误后,Client会上报该事件通知。

事件参数

errorInfo:必选,ErrorInfo类型,错误信息。

ErrorInfo定义为:{
  • errorCode:必选,string类型,错误码。
  • errorMsg:必选,string类型,错误描述。

}

connection-state-changed

事件说明

client连接状态变更事件,client连接状态变更会收到该事件通知。

事件参数

  • ConnectionStateInfoEvent:{
    • prevState:必选,ConnectionState类型,变更前状态。
    • curState:必选,ConnectionState类型,变更后状态。

}

连接状态ConnectionState的取值如下所示:
  • CONNECTING:连接建立中。
  • CONNECTED:连接已连接。
  • RECONNECTING:重新连接中。
  • DISCONNECTED:连接已断开。

mute-audio

事件说明

远端用户禁用音频通知事件,当远端用户禁用音频后,流的接收端会收到该事件通知。

事件参数

mediaStatus:必选,MediaStatusNotifyInfo类型。

MediaStatusNotifyInfo包含如下属性:

  • roomId:必选,类型string。
  • userId:必选,类型string。
  • status:必选,类型为MediaStatusAction。MediaStatusAction枚举值定义如下所示:
    • 1:媒资状态可用。
    • 2:媒资状态不可用。
  • reason:必选,类型为MediaStatusReason。MediaStatusReason枚举值定义如下所示:
    • 0:媒体离线。
    • 1:媒体静音。
    • 2:媒体不静音。

unmute-audio

事件说明

远端用户启用音频通知事件,当远端用户启用音频后,流接收端会收到该事件通知。

事件参数

mediaStatus:必选,MediaStatusNotifyInfo类型。

mute-video

事件说明

远端用户禁用视频通知事件,当远端用户禁用视频后,流接收端会收到该事件通知。

事件参数

mediaStatus:必选,MediaStatusNotifyInfo类型。

unmute-video

事件说明

远端用户启用视频通知事件,当远端用户启用视频后,流接收端会收到该事件通知。

事件参数

mediaStatus:必选,MediaStatusNotifyInfo类型。

log-upload-result

事件说明

日志上传结果。

事件参数

status:必选,number类型,日志上传结果,200表示成功,其余表示失败。

log-upload-process

事件说明

日志上传进度通知。

事件参数

progress:必选,ProgressEvent<EventTarget>类型,日志上传进度。

signature-expired

事件说明

签名过期。

事件参数

errorInfo:必选,ErrorInfo类型,错误信息。

ErrorInfo定义为:{
  • errorCode:必选,string类型,错误码。
  • errorMsg:必选,string类型,值为 'signatureExpired'。

}

camera-changed

事件说明

本地摄像头设备变更事件,当插、拔本地摄像头时触发。

事件参数

DeviceChangedEvent:必选,DeviceChangedInfo类型,设备变更详情。

DeviceChangedInfo定义为:{
  • deviceId:必选,string类型,设备deviceId。
  • state:必选,DeviceChangeMode类型,DeviceChangeMode枚举值定义如下:
    • "ADD":设备添加。
    • "REMOVE":设备移除。

}

recording-device-changed

事件说明

本地录音设备变更事件,当本地录音设备变更时触发。

事件参数

DeviceChangedEvent:必选, DeviceChangedInfo类型,设备变更详情。DeviceChangedInfo定义参考camera-changed中的说明。

playback-device-changed

事件说明

本地播放设备变更事件,当本地播放设备变更时触发。

事件参数

DeviceChangedEvent:必选, DeviceChangedInfo类型,设备变更详情。DeviceChangedInfo定义参考camera-changed中的说明。

network-quality

事件说明

网络上下行质量报告事件,用户加入房间后,SDK会每2秒 触发一次该事件,报告用户的本地网络上下行质量情况。

事件参数

NetworkQualityEvent:必选, NetworkQualityInfo类型,网络上下行质量详情。

NetworkQualityInfo定义为: {
  • uplinkNetworkQuality:必选,number类型,上行网络质量。枚举值如下:
    • 0:质量未知。
    • 1:质量极好。
    • 2:用户主观感觉和极好差不多,但码率可能略低于极好。
    • 3:用户主观感受有瑕疵但不影响沟通。
    • 4:勉强能沟通但不顺畅。
    • 5:网络质量非常差,基本不能沟通。
    • 6: 网络连接断开,完全无法沟通。
  • downlinkNetworkQuality:必选,number类型,下行网络质量。枚举值如下:
    • 0:质量未知。
    • 1:质量极好。
    • 2:用户主观感觉和极好差不多,但码率可能略低于极好。
    • 3:用户主观感受有瑕疵但不影响沟通。
    • 4:勉强能沟通但不顺畅。
    • 5:网络质量非常差,基本不能沟通。
    • 6: 网络连接断开,完全无法沟通。

}

stream-interrupted

事件说明

远端流的码流中断事件。中断表示在enableStreamStateDetection接口参数interval设置的统计周期内未接收到有效视频帧。

事件参数

streamInterruptedEvent:必选, UserList[]类型,已订阅且无视频码流的用户列表。

UserList定义为:{
  • userId:必选,string类型,用户id。
  • isScreen:必选,boolean类型,true表示对应用户的辅流,false表示对应用户的主流。

}

注意事项

该事件为1.4.0版本新增。

stream-recovered

事件说明

远端流的码流恢复事件。

事件参数

streamRecoveredEvent:必选, UserList[]类型,已订阅且视频码流恢复的用户列表。UserList参考stream-interrupted中的定义。

注意事项

该事件为1.4.0版本新增。

分享:

    相关文档

    相关产品