定义 createClient 中的 config 参数的类。

Note:

  • modecodec 属性必须设置,不可缺省。
  • 请确保在调用 Client.join 之前设置这些属性。

设置频道模式

下表列出 Web SDK 新旧版本中对应的频道模式设置:

v2.3 前的版本 v2.3 起的版本
createClient({mode: "interop"}) createClient({mode: "live", codec: "vp8"})
createClient({mode: "h264_interop"}) createClient({mode: "live", codec: "h264"})

设置代理服务器

如需使用代理服务器,设置 proxyServerturnServer 。 完整的网页端部署 Proxy 服务器指南,请参考 企业部署代理服务器.

Note:

在使用 Firefox 浏览器时,跨运营商代理速度会比较慢。Agora 建议使用同运营商进行代理。如果必须使用跨运营商代理,则避免使用 Firefox 浏览器。

example

示例代码

var config = {
     mode: "live",
     codec: "vp8",
     proxyServer: "YOUR NGINX PROXY SERVER IP",
     turnServer: {
         turnServerURL: "YOUR TURNSERVER URL",
         username: "YOUR USERNAME",
         password: "YOUR PASSWORD",
         udpport: "THE UDP PORT YOU WANT TO ADD",
         tcpport: "THE TCP PORT YOU WANT TO ADD",
         forceturn: false
     }
}
var client = AgoraRTC.createClient(config);```

Hierarchy

  • ClientConfig

Index

Properties

codec

codec: "vp8" | "h264"

浏览器使用的编解码 Codec,有以下两种选择:

  • "vp8": 浏览器使用 VP8 编解码
  • "h264": 浏览器使用 H.264 编解码

Note:

如果场景中有 Safari 浏览器,无论何种模式,请将 codec 设置为 "h264"。如果没有,建议设为 "vp8"

mode

mode: "live" | "rtc"

频道模式

Agora Web SDK 需知道应用程序的使用场景(例如通信模式或直播模式), 从而使用不同的优化手段。

目前 Agora Web SDK 支持以下频道模式:

  • "live": 直播模式,有主播和观众两种用户角色,可以通过 Client.setClientRole 方法设置主播和观众的角色。主播可以收发语音/视频流,而观众只能接收语音/视频,无法发送。
  • "rtc": 通信模式,用于常见的一对一通话或群聊,频道中的任何用户可以自由说话。

Note:

如需与 Agora Native SDK 互通,建议按照以下设置以取得最佳通信效果。

  • Native SDK 2.3.2 及以后版本:
    • Native SDK 使用通信模式时将 mode 设置为 "rtc""live"
    • Native SDK 使用直播模式时将 mode 设置为 "live"
  • Native SDK 2.3.2 之前版本无论何种模式请将 mode 设置为 "live"

Note:

mode 设为 "rtc" 时,支持 Agora 录制 SDK 2.3.3 及以上版本。

Optional proxyServer

proxyServer: string

Nginx 服务器域名

设有企业防火墙的用户使用该参数,可以部署 Nginx 服务器,以将信令消息通过 Nginx 服务器传到 Agora SD-RTN,然后使用 Agora 的服务。

ASCII 字符,字符串长度大于 0 小于 256 字节。

Optional turnServer

turnServer: object

TURN 服务器设置

设有企业防火墙的用户使用该参数,可以部署 TURN 服务器,以将音视频数据通过 TURN 服务器传到 Agora SD-RTN,然后使用 Agora 的服务。

Type declaration

  • Optional forceturn?: boolean

    是否启用强制中转:

    • true: 强制所有流走中转
    • false: (默认值)不强制走中转
  • password: string

    你在 TURN 服务器上使用的密码。ASCII 字符,字符串长度大于 0 小于 256 字节。

  • Optional tcpport?: string

    你想要添加的 TCP 端口。字符串字符串长度大于 0 小于 256 字节,必须为数字字符。

  • turnServerURL: string

    你的 TURN 服务器 URL 地址。ASCII 字符,字符串长度大于 0 小于 256 字节。

  • udpport: string

    你想要添加的 UDP 端口。字符串字符串长度大于 0 小于 256 字节,必须为数字字符。

  • username: string

    你在 TURN 服务器上注册并使用的用户名。ASCII 字符,字符串长度大于 0 小于 256 字节。