AgoraRTC 是 Agora Web SDK 中所有可调用方法的入口。

AgoraRTC 方法可用于创建客户端 (Client) 和音视频流 (Stream) 对象。

AgoraRTC 方法还可以检查浏览器兼容性和设置日志上传。

Index

Variables

Const BUILD

BUILD: string

Agora Web SDK 的编译信息

example

AgoraRTC.BUILD

Const VERSION

VERSION: string

Agora Web SDK 的版本号

example

AgoraRTC.VERSION

Functions

checkSystemRequirements

  • checkSystemRequirements(): boolean
  • 该方法检查 Web SDK 对正在使用的浏览器的适配情况。

    你需要在创建音视频对象 (createClient)之前调用该方法,用以检查 Web SDK 对正在使用的浏览器的适配情况。

    Note:

    对于一些 Chrome 内核的浏览器(如:QQ 浏览器等),我们暂时未做全量测试,如需使用,可以进行尝试。在接下来的数个版本中,我们会逐渐完成大部分主流浏览器的适配与测试。

    Returns boolean

    • true: Web SDK 与当前使用的浏览器适配。
    • false: Web SDK 与当前使用的浏览器不适配。

createClient

  • 该方法用于创建客户端,在每次会话里仅调用一次。

    example

    AgoraRTC.createClient(config)

    Parameters

    Returns Client

createStream

  • 该方法创建并返回音视频流对象。

    example

    AgoraRTC.createStream(spec)

    Parameters

    Returns Stream

getDevices

  • getDevices(callback: function, callback_Error?: function): void
  • 该方法枚举可用的媒体输入/输出设备,比如麦克风、摄像头、耳机等。

    调用成功后 SDK 会通过 MediaDeviceInfo 对象返回可用的媒体设备。

    example

    示例代码

    AgoraRTC.getDevices (function(devices) {
    var devCount = devices.length;
    
    var id = devices[0].deviceId;
    }, function(errStr){
         console.error("Failed to getDevice", errStr);
    });

    Parameters

    • callback: function
    • Optional callback_Error: function
        • (errStr: string): void
        • Parameters

          • errStr: string

          Returns void

    Returns void

getScreenSources

  • getScreenSources(callback: function): void
  • 该方法用于获取屏幕共享源

    在 Electron 环境进行屏幕共享时,需要调用该方法获取屏幕共享源,详见进行屏幕共享

    调用成功后 SDK 会返回一组 DesktopCapturerSource 对象。

    example

    示例代码

    AgoraRTC.getScreenSources(function(err, sources) {
      console.log(sources)
    }

    Parameters

    Returns void

getSupportedCodec

  • getSupportedCodec(supportedCodecOptions?: object): Promise<object>
  • 该方法检查 Web SDK 对当前浏览器支持的编解码格式。

    调用该方法会返回 Agora 服务与当前浏览器同时支持的编解码格式。目前而言,视频支持 VP8 及 H.264 格式,音频支持 OPUS 格式。

    Note:

    • 该方法支持所有浏览器。对于不支持 WebRTC 或无法识别的浏览器环境,编解码列表返回为空。
    • 返回的音视频编码为浏览器通过 SDP 声称的编码类型,为参考值。
    • 目前部分安卓手机 H.264 与其他平台 H.264 存在无法互通或单通问题,对于这部分机型推荐使用 VP8 编码格式。
    example

    示例代码

    //判断作为接收端支持的解码格式
    AgoraRTC.getSupportedCodec()
      .then(function(result){
        console.log(`Supported video codec: ${result.video.join(",")}`);
        console.log(`Supported audio codec: ${result.audio.join(",")}`);
      });
    
    //判断作为发送端支持的编码格式
    navigator.mediaDevices.getUserMedia({video: true, audio: true})
     .then(function(mediaStream){
        return AgoraRTC.getSupportedCodec({stream: mediaStream});
     })
     .then(function(result){
        console.log(`Supported video codec: ${result.video.join(",")}`);
        console.log(`Supported audio codec: ${result.audio.join(",")}`);
     });

    Parameters

    • Optional supportedCodecOptions: object
      • stream: MediaStream

        可选选项,指定一个 MediaStream 对象。如不填,则判断浏览器作为接收端支持的解码格式,反之则判断浏览器作为发送端支持的编码格式,在大多数情况下两者一致。

    Returns Promise<object>

    调用该方法会返回一个 Promise 对象,在 .then(function(result){}) 回调中,result 包含以下属性:

    • video: 数组类型,支持的视频编解码格式。可能含有 "H264""VP8" 两种取值,或为空数组。
    • audio: 数组类型,支持的音频编解码格式。可能含有 "OPUS",或为空数组。