Index

Type aliases

AgoraNetworkQuality

AgoraNetworkQuality: 0 | 1 | 2 | 3 | 4 | 5 | 6

网络质量:

  • 0:质量未知
  • 1:质量极好
  • 2:主观感觉和极好差不多,但码率可能略低于极好
  • 3:主观感受有瑕疵但不影响沟通
  • 4:勉强能沟通但不顺畅
  • 5:网络质量非常差,基本不能沟通
  • 6:网络连接已断开,完全无法沟通

CaptureRect

CaptureRect: Rectangle

ChannelMediaRelayError

ChannelMediaRelayError: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11

错误码:

  • 0 一切正常
  • 1 服务器回应出错
  • 2 服务器无回应。你可以调用 leaveChannel 方法离开频道
  • 3 SDK 无法获取服务,可能是因为服务器资源有限导致
  • 4 发起跨频道转发媒体流请求失败
  • 5 接受跨频道转发媒体流请求失败
  • 6 服务器接收跨频道转发媒体流失败
  • 7 服务器发送跨频道转发媒体流失败
  • 8 SDK 因网络质量不佳与服务器断开。你可以调用 leaveChannel 方法离开当前频道
  • 9 服务器内部出错
  • 10 源频道的 Token 已过期
  • 11 目标频道的 Token 已过期

ChannelMediaRelayEvent

ChannelMediaRelayEvent: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11

跨频道媒体流转发事件码

  • 0 网络中断导致用户与服务器连接断开
  • 1 用户与服务器建立连接
  • 2 用户已加入源频道
  • 3 用户已加入目标频道
  • 4 SDK 开始向目标频道发送数据包
  • 5 服务器收到了目标频道发送的视频流
  • 6 服务器收到了目标频道发送的音频流
  • 7 目标频道已更新
  • 8 内部原因导致目标频道更新失败
  • 9 目标频道未发生改变,即目标频道更新失败
  • 10 目标频道名为 NULL
  • 11 视频属性已发送至服务器

ChannelMediaRelayState

ChannelMediaRelayState: 0 | 1 | 2 | 3

状态码:

  • 0 SDK 正在初始化
  • 1 SDK 尝试跨频道
  • 2 源频道主播成功加入目标频道
  • 3 发生异常,详见 ChannelMediaRelayError 中错误码

ClientRoleType

ClientRoleType: 1 | 2

用户角色类型:

  • 1:主播
  • 2:观众

ConnectionChangeReason

ConnectionChangeReason: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

引起当前网络状态发生改变的原因:

  • 0:建立网络连接中
  • 1:成功加入频道
  • 2:网络连接中断
  • 3:网络连接被服务器禁止
  • 4:加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连
  • 5:离开频道
  • 6:不是有效的 APP ID。请更换有效的 APP ID 重新加入频道
  • 7:不是有效的频道名。请更换有效的频道名重新加入频道
  • 8:生成的 Token 无效
  • 9:当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token
  • 10:此用户被服务器禁止
  • 11:由于设置了代理服务器,SDK 尝试重连
  • 12:更新 Token 引起网络连接状态改变
  • 13:客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起

ConnectionState

ConnectionState: 1 | 2 | 3 | 4 | 5

网络连接状态。

1:网络连接断开。该状态表示 SDK 处于:

2:建立网络连接中。该状态表示 SDK 在调用 joinChannel 后正在与指定的频道建立连接。

  • 如果成功加入频道,App 会收到 connectionStateChanged 回调,通知当前网络状态变成 3:网络已连接
  • 建议连接后,SDK 还会处理媒体初始化,一切就绪后会回调 joinedChannel

3:网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时 App 会收到:

  • connectionStateChanged 回调,通知网络状态变成 4:重新建立网络连接中

4:重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。

  • 如果 SDK 无法在 10 秒内重新接入频道,则 connectionLost 会被触发,SDK 会一致保留该状态,并不断尝试重新加入频道
  • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,App 会收到 connectionStateChanged 回调,通知当前网络状态进入 5:网络连接失败,SDK 停止尝试重连

5:网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。

  • 如果用户还想重新加入频道,则需要再次调用 joinChannel
  • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到 connectionStateChanged 回调。

MacScreenSymbol

MacScreenSymbol: number

MediaDeviceType

MediaDeviceType: -1 | 0 | 1 | 2 | 3 | 4

媒体设备类型:

  • -1:未知的设备类型
  • 0:音频播放设备
  • 1:音频录制设备
  • 2:视频渲染设备
  • 3:视频采集设备
  • 4:应用的音频播放设备

RemoteAudioState

RemoteAudioState: 0 | 1 | 2 | 3 | 4

远端音频流状态码:

  • 0: 远端音频流默认初始状态,在原因码 3、5 或 7 的情况下,会报告该状态。
  • 1: 本地用户已接收远端音频首包。
  • 2: 远端音频流正在解码,正常播放。在原因码 2、4 或 6 的情况下,会报告该状态。
  • 3: 远端音频流卡顿。在原因码 1 的情况下,会报告该状态。
  • 4: 远端音频流播放失败。在 原因码 0 的情况下,会报告该状态。

RemoteAudioStateReason

RemoteAudioStateReason: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

远端音频流状态改变的原因码:

  • 0: 内部原因。
  • 1: 网络阻塞。
  • 2: 网络恢复正常。
  • 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。
  • 4: 本地用户恢复接收远端音频流或本地用户启用音频模块。
  • 5: 远端用户停止发送音频流或远端用户禁用音频模块。
  • 6: 用户恢复发送音频流或远端用户启用音频模块。
  • 7: 远端用户离开频道。

RemoteVideoState

RemoteVideoState: 0 | 1 | 2 | 3 | 4

远端视频状态:

  • 0 远端视频默认初始状态。
  • 1 本地用户已接收远端视频首包。
  • 2 远端视频流正在解码,正常播放。
  • 3 远端视频流卡顿。
  • 4 远端视频流播放失败。

RemoteVideoStateReason

RemoteVideoStateReason: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

远端视频流状态改变的具体原因:

  • 0 内部原因。
  • 1 网络阻塞。
  • 2 网络恢复正常。
  • 3 本地用户停止接收远端视频流或本地用户禁用视频模块。
  • 4 本地用户恢复接收远端视频流或本地用户启动视频模块。
  • 5 远端用户停止发送视频流或远端用户禁用视频模块。
  • 6 远端用户恢复发送视频流或远端用户启用视频模块。
  • 7 远端用户离开频道。
  • 8 远端视频流已回退为音频流。
  • 9 回退的远端音频流恢复为视频流。

ScreenSymbol

屏幕标识:

  • macOS 系统中,屏幕ID
  • Windows 系统中,屏幕位置

StreamType

StreamType: 0 | 1

视频流类型:

  • 0:视频大流,即高分辨率、高码率视频流
  • 1:视频小流,即低分辨率、低码率视频流

VIDEO_CODEC_TYPE

VIDEO_CODEC_TYPE: 0 | 1

视频的编码类型:

  • 0 VP8
  • 1 (默认)H.264

WindowsScreenSymbol

WindowsScreenSymbol: Rectangle

Variables

Const agora

agora: any = require('../../build/Release/agora_node_ext')