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

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

AgoraRTC 包含以下类:

描述
Client 提供 AgoraRTC 核心功能的 web 客户端对象。
ClientConfig 定义 createClient 创建的 Client 对象的属性。
Stream 设置通话中的本地或远程音视频流。
StreamSpec 定义 createStream 创建的 Stream 对象的属性。
LocalStreamStats 提供本地发布流的连接统计数据。
RemoteStreamStats 提供远端订阅流的连接统计数据。
LocalAudioStats 提供本地发布流的音频统计数据。
RemoteAudioStats 提供远端订阅流的音频统计数据。
LocalVideoStats 提供本地发布流的视频统计数据。
RemoteVideoStats 提供远端订阅流的视频统计数据。
TransportStats 提供与网关的连接统计数据。
SessionStats 提供与会话的连接统计数据。
NetworkQualityStats 提供网络质量评分。
LiveTranscoding 管理旁路推流转码的设置。
InjectStreamConfig 导入的在线媒体流的设置。
MediaDeviceInfo 提供媒体设备的信息。

Client 客户端对象

使用 Agora Web SDK 的第一步就是调用 createClient 创建客户端对象。

客户端对象指通话中的本地或远程用户,提供 AgoraRTC 的核心功能。下表列出 Client 的所有方法:

方法 描述
init 初始化客户端对象。
join 加入 AgoraRTC 频道。
leave 离开 AgoraRTC 频道。
publish 发布本地音视频流至 SD-RTN。
unpublish 取消发布本地音视频流。
subscribe 接收远端音视频流。
unsubscribe 取消接收远端音视频流。
setClientRole 设置直播场景的用户角色。
enableDualStream 开启双流模式。双流为视频大流和视频小流,其中视频大流指高分辨率、高码率的视频流,视频小流指低分辨率、低码率的视频流。
setLowStreamParameter 设置小流视频参数。如果你开启了双流模式,该方法设置小流的视频参数。
setRemoteVideoStreamType 设置视频大小流。
setStreamFallbackOption 设置音视频流回退策略。网络不理想的情况下,为保证通话质量,可以选择自动订阅视频小流或者仅订阅音频流。
disableDualStream 关闭双流模式。
enableAudioVolumeIndicator 启用说话者音量提示。该方法允许 SDK 定期返回频道内正在说话的远端用户及其音量。
startLiveStreaming 新建直播流。
setLiveTranscoding 设置直播转码。
stopLiveStreaming 停止并删除直播流。
addInjectStreamUrl 导入在线媒体流。
removeInjectStreamUrl 删除导入的在线媒体流。
setProxyServer 部署 Nginx 服务器。
setTurnServer 部署 TURN 服务器。
setEncryptionSecret 设置 AES 加密密码。
setEncryptionMode 设置 AES 加密方案。
renewToken 更新 Token。
renewChannelKey 更新 Channel Key。
getSystemStats 获取系统信息。
getRecordingDevices 枚举音频输入设备,如麦克风。
getPlayoutDevices 枚举音频输出设备,如扬声器。
getCameras 枚举视频输入设备,如摄像头。
getRemoteAudioStats 获取远端订阅的音频统计数据。
getLocalAudioStats 获取本地发布的音频统计数据。
getRemoteVideoStats 获取远端订阅的视频统计数据。
getLocalVideoStats 获取本地发布的视频统计数据。
getTransportStats 获取本地客户端与网关的连接状况的统计数据。
getSessionStats 获取本地客户端与会话的连接状况的统计数据。
getConnectionState 获取 SDK 与服务器的连接状态。

Stream 音视频流对象

音视频流对象指通话中的本地或远程音视频流,提供对音视频流的设置。下表列出 Stream 的所有方法:

方法 描述
init 初始化音视频流对象。
play 播放音视频流。
stop 停止播放音视频流。
isPlaying 检查音视频流是否在播放状态。
close 关闭音视频输入设备,如摄像头。
unmuteAudio 启用音频轨道。
muteAudio 禁用音频轨道。
hasAudio 获取音频 flag。
getAudioLevel 获取当前音量。
getAudioTrack 获取音视频流中的音频轨道。
getVideoTrack 获取音视频流中的视频轨道。
replaceTrack 替换本地流中的音视频轨道。
addTrack 将音视频轨道添加到音视频流。
removeTrack 从音视频流中移除音视频轨道。
setAudioProfile 设置音频属性。
setAudioVolume 调节播放订阅流的音量大小。
setAudioOutput 设置音频输出设备,可以在麦克风和扬声器之间切换。
switchDevice 切换媒体输入设备,比如麦克风、扬声器、摄像头。
unmuteVideo 启用视频轨道。
muteVideo 禁用视频轨道。
hasVideo 获取视频 flag。
setVideoProfile 设置视频属性。
setScreenProfile 设置屏幕共享中的屏幕属性。
startAudioMixing 开始播放伴奏。
stopAudioMixing 停止播放伴奏。
pauseAudioMixing 暂停播放伴奏。
resumeAudioMixing 恢复播放伴奏。
adjustAudioMixingVolume 调节伴奏音量。
getAudioMixingDuration 获取伴奏时长。
getAudioMixingCurrentPosition 获取伴奏播放进度。
setAudioMixingPosition 设置伴奏音频文件的播放位置。可以根据实际情况播放文件,而不是非得从头到尾播放一个文件。
getId 获取音视频流 ID。
getStats 获取连接统计数据。

事件

通过 Client.onStream.on 方法监听 ClientStream 方法触发的事件。

错误代码和警告代码

详见错误代码和警告代码