API 介绍
进入一个音视频房间,调用
trtc.enterRoom() 方法。退出当前音视频房间,调用
trtc.exitRoom() 方法。预览/发布本地视频,调用
trtc.startLocalVideo() 方法。采集/发布本地音频,调用
trtc.startLocalAudio() 方法。取消预览/发布本地视频,调用
trtc.stopLocalVideo() 方法。取消采集/发布本地音频,调用
trtc.stopLocalAudio() 方法。观看远端视频,调用
trtc.startRemoteVideo() 方法。取消观看远端视频,调用
trtc.stopRemoteVideo() 方法。静默/取消静默远端音频,调用
trtc.muteRemoteAudio() 方法。静态方法
import TRTC from 'trtc-sdk-v5';const trtc = TRTC.create();
API | 描述 |
创建一个 TRTC 对象实例,用于实现进房、预览、推流、拉流等功能。 | |
设置日志输出等级。 | |
检测当前浏览器是否支持 TRTC Web SDK。 | |
返回摄像头设备列表。 | |
返回麦克风设备列表。 | |
返回扬声器设备列表。 | |
设置当前音频播放的扬声器。 |
成员方法
创建实例后调用。
分类 | API | 描述 |
房间相关 | 进入一个音视频通话房间(以下简称"进房")。 | |
| 退出当前音视频通话房间。 | |
| 切换用户角色,仅在 TRTC.TYPE.SCENE_LIVE 互动直播模式下生效。 | |
| 销毁 TRTC 实例。 | |
本地音频 | 开启本地麦克风采集,并发布到当前的房间中。 | |
| 更新本地麦克风配置。 | |
| 停止本地麦克风的采集及发布。 | |
本地视频 | 开启本地摄像头采集,在您指定的 HTMLElement 标签下播放摄像头画面,并将摄像头画面发布到当前所在房间中。 | |
| 更新本地摄像头配置。 | |
| 停止本地摄像头的采集、预览及发布。 | |
本地屏幕分享 | 开启屏幕分享。 | |
| 更新屏幕分享配置。 | |
| 停止屏幕分享。 | |
远端视频 | 播放远端视频。 | |
| 更新远端视频播放配置。 | |
| 用于停止远端视频播放。 | |
远端音频 | 静音某个远端用户,并且不再拉取该用户的音频数据。仅对当前用户有效,房间内的其他用户依然可以听到被静音用户的声音。 | |
| 用于控制远端音频的播放音量。 | |
| 开启或关闭音量大小回调。 | |
插件相关 | 开启插件。 | |
| 更新插件。 | |
| 停止插件。 | |
其他 | ||
| 取消事件监听。 | |
| 获取视频截图。 | |
| 获取视频轨道。 | |
| 获取音频轨道。 | |
消息收发 | 发送 SEI 消息。 | |
| 发送自定义消息。 | |
基础教程
高级教程
最佳实践
说明:
支持的平台
TRTC Web SDK 基于 WebRTC 实现,目前支持桌面端和移动端的主流浏览器,详细支持度参见下方表格。
如果您的应用场景不在支持的表格里(例如 WebView),可以使用 TRTC.isSupported 接口 或者 打开 TRTC Web SDK 能力检测页面 检测当前环境是否支持 WebRTC 所有能力。
PC 端
操作系统 | 浏览器 | 浏览器最低版本要求 | 拉流 | 推流 | 屏幕分享 | 备注 |
Windows | Chrome | 56+ | 支持 | 支持 | Chrome 72+ | - |
Windows | Edge | 80+ | 支持 | 支持 | Edge 80+ | - |
Windows | Firefox | 56+ | 支持 | 支持 | Firefox 66+ | - |
Windows | 其他 | Chromium 56+ | 支持 | 支持 | Chromium 72+ | 其他浏览器例如 QQ 浏览器、Opera 等基本都是基于 Chromium 内核开发的,所以关注 Chromium 版本即可。 |
Mac | Safari | 11+ | 支持 | 支持 | Safari 13+ | - |
Mac | Chrome | 56+ | 支持 | 支持 | Chrome 72+ | - |
Mac | Edge | 80+ | 支持 | 支持 | Edge 80+ | - |
Mac | Firefox | 56+ | 支持 | 支持 | Firefox 66+ | - |
ChromeOS | Chrome | 56+ | 支持 | 支持 | Chrome 72+ | - |
移动端
操作系统 | 浏览器 | 浏览器最低版本要求 | 拉流 | 推流 | 屏幕分享 | 备注 |
Android | Chrome | 85+ | 支持 | 支持 | 不支持 | 85 以下的版本 Chrome 已知缺陷可能会导致推拉流失败,建议使用 Chrome 85+ 版本。 |
Android | Edge | 85+ | 支持 | 支持 | 不支持 | - |
Android | Firefox | 56+ | 支持 | 支持 | 不支持 | - |
Android | 微信内嵌浏览器 | - | 支持 | 支持 | 不支持 | - |
Android | 其他 | Chromium 85+ | 支持 | 支持 | 不支持 | |
iOS | Safari | 11+ | 支持 | 支持 | 不支持 | - |
iOS | Chrome | 11+ | 支持 | iOS 14.3+ | 不支持 | iOS 中非 Safari 浏览器都是基于 WKWebView 实现的,WKWebview 在 iOS 14.3+ 才支持采集摄像头、麦克风能力。 |
HarmonyOS | 华为浏览器 | - | 支持 | 支持 | 不支持 | - |
注意:
URL 域名协议限制
由于浏览器安全策略的限制,使用 WebRTC 能力对页面的访问协议有严格的要求,请参照以下表格进行开发和部署应用。
应用场景 | 协议 | 接收(播放) | 发送(上麦) | 屏幕分享 | 备注 |
生产环境 | HTTPS 协议 | 支持 | 支持 | 支持 | 推荐 |
生产环境 | HTTP 协议 | 支持 | 不支持 | 不支持 | - |
本地开发环境 | http://localhost | 支持 | 支持 | 支持 | 推荐 |
本地开发环境 | http://127.0.0.1 | 支持 | 支持 | 支持 | - |
本地开发环境 | http://[本机 IP] | 支持 | 不支持 | 不支持 | - |
本地开发环境 | file:/// | 支持 | 支持 | 支持 | - |