概览

最近更新时间:2022-09-20 05:17:40

anyRTC Web SDK 是通过 HTML 网页加载的 JavaScript 和 Typescript 库。你可以使用 anyRTC Web SDK 在网页浏览器中调用 API 建立连接,控制音视频通话和直播服务。

请务必使用 HTTPS 协议或者 localhost,否则 SDK 无法正常工作。

核心方法 #

方法描述
createClient创建本地客户端

本地音视频采集 #

方法描述
createMicrophoneAudioTrack通过麦克风创建一个音频轨道对象 MicrophoneAudioTrack
createCameraVideoTrack通过摄像头创建一个视频轨道对象 CameraVideoTrack
createMicrophoneAndCameraTracks同时创建麦克风音频轨道 MicrophoneAudioTrack和摄像头视频轨道 CameraVideoTrack
createScreenVideoTrack通过屏幕共享创建一个视频轨道对象 LocalVideoTrack
createBufferSourceAudioTrack通过音频文件创建一个音频轨道对象 BufferSourceAudioTrack
createCustomAudioTrack创建一个自定义的音频轨道对象 LocalAudioTrack
createCustomVideoTrack创建一个自定义的视频轨道对象 LocalVideoTrack

媒体设备查询 #

方法描述
getDevices获取媒体设备列表
getCameras获取摄像头列表
getMicrophones获取麦克风列表
getElectronScreenSources获取 Electron 屏幕共享源列表

日志管理 #

方法描述
enableLogUpload打开日志上传功能
disableLogUpload关闭日志上传功能
setLogLevel设置日志等级

全局事件回调 #

方法描述
onCameraChanged通知有摄像头设备插入或拔出
onMicrophoneChanged通知有麦克风设备插入或拔出
onPlaybackDeviceChanged音频播放设备状态变化回调

其他 #

方法描述
checkSystemRequirements检测浏览器兼容性
getSupportedCodec获取支持的编码格式

ArRTCClient #

调用 createClient 创建一个本地客户端对象 ArRTCClient,代表一个通话中的本地用户。ArRTCClient 类提供音视频通话的核心功能,主要包含以下方法。

方法描述
join加入频道
leave离开频道
publish发布本地音视频轨道
unpublish取消发布本地音视频轨道
subscribe订阅远端用户的音视频轨道
unsubscribe取消订阅远端用户的音视频轨道

Track #

音视频轨道是我们可以通过「本地音视频采集」获取的,我们通过操作音视频轨道对象来控制音视频流的行为,比如:播放、暂停、发布等,音视频轨道也是音视频流的组成部分。

web sdk 音视频轨道

LocalTrack #

LocalTrack 是 anyRTC Web SDK 中定义本地音视频轨道的抽象类,可用于本地播放和发布。

SDK 通过不同的方式创建不同的 LocalTrack,返回不同的 LocalTrack 派生类对象。以下列举了所有的 LocalTrack 派生类以及所对应的创建方式:

本地音频轨道 #

根据创建方式的不同,本地音频轨道可分为以下三种。其中 LocalAudioTrack 派生自 LocalTrackMicrophoneAudioTrackBufferSourceAudioTrack 派生自 LocalAudioTrack

本地音频轨道描述
LocalAudioTrack最基础的本地音频轨道对象,包含了基础的本地音频控制,如播放、设置音量控制。 通过调用 ArRTC.createCustomAudioTrack 创建。
MicrophoneAudioTrack本地麦克风音频轨道对象,比 LocalAudioTrack 多一些控制麦克风的方法。 通过调用 ArRTC.createMicrophoneAudioTrack 创建。
BufferSourceAudioTrack通过读取音频数据源创建的本地音频轨道,比基础的 LocalAudioTrack 多一些控制音频数据源的方法。 通过调用 ArRTC.createBufferSourceAudioTrack 创建。

本地视频轨道 #

根据创建方式的不同,本地视频可分为以下两种。其中 LocalVideoTrack 派生自 LocalTrackCameraVideoTrack 派生自 LocalVideoTrack

本地视频轨道描述
LocalVideoTrack最基础的本地视频轨道对象,包含了基础的本地视频控制,如播放、美颜。 通过调用 ArRTC.createCustomVideoTrackArRTC.createScreenVideoTrack 创建。
CameraVideoTrack本地摄像头视频轨道对象,比 LocalVideoTrack 多一些控制摄像头和编码参数的方法。 通过调用 ArRTC.createCameraVideoTrack 创建。

RemoteTrack #

RemoteTrack 是 anyRTC Web SDK 中用于定义远端音视频轨道的抽象类。

在实际操作中,你需要先调用 ArRTCClient.subscribe 订阅远端用户,然后从远端用户对象 ArRTCRemoteUser 中获取派生自 RemoteTrackRemoteAudioTrack 对象和 RemoteVideoTrack 对象。

引入方式 #

如果你通过 <script> 的方式引入 anyRTC Web SDK,可以通过访问 ArRTC.createClient 来获取导出的模块。

如果你通过 npm 或者模块化的方式引入 anyRTC Web SDK,可以通过以下方式访问 ArRTC:

import ArRTC from "ar-rtc-sdk";
console.log(ArRTC.createClient);

类型模块(适用于 Typescript) #

对于 Typescript 开发者,我们提供了 .d.ts 文件导出详细的类型定义。你可以查看 API 文档的 Global 页面,该页面列出了所有 SDK 导出的模块和类型。

import ArRTC, { IArRTCClient } from "ar-rtc-sdk";

const client: IArRTCClient = ArRTC.createClient();