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 所有能力。
操作系统 | 浏览器类型 | 浏览器最低版本要求 | SDK 版本要求 | 接收(播放) | 发送(上麦) | 屏幕分享 |
Windows | 桌面版 Chrome 浏览器 | 56+ | 无要求 | 支持 | 支持 | 支持 Chrome72+ 版本 |
? | 桌面版 QQ 浏览器 (极速内核) | 10.4+ | 无要求 | 支持 | 支持 | 不支持 |
? | 桌面版 Firefox 浏览器 | 56+ | v4.7.0+ | 支持 | 支持 | 支持 Firefox66+ 版本 |
? | 桌面版 Edge 浏览器 | 80+ | v4.7.0+ | 支持 | 支持 | 支持 |
? | 桌面版搜狗浏览器 (高速模式) | 11+ | v4.7.0+ | 支持 | 支持 | 支持 |
? | 桌面版搜狗浏览器 (兼容模式) | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
? | 桌面版 Opera 浏览器 | 46+ | v4.7.0+ | 支持 | 支持 | 支持 Opera60+ 版本 |
? | 桌面版 360 安全浏览器 (极速模式) | 13+ | v4.7.0+ | 支持 | 支持 | 支持 |
? | 桌面版 360 安全浏览器 (兼容模式) | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
? | 桌面版微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
? | 桌面版企业微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
Mac OS | 桌面版 Safari 浏览器 | 11+ | 无要求 | 支持 | 支持 | 支持 Safari13+ 版本 |
? | 桌面版 Chrome 浏览器 | 56+ | 无要求 | 支持 | 支持 | 支持 Chrome72+ 版本 |
? | 桌面版 Firefox 浏览器 | 56+ | v4.7.0+ | 支持 | 支持 | 支持 Firefox66+ 版本 |
? | 桌面版 Edge 浏览器 | 80+ | v4.7.0+ | 支持 | 支持 | 支持 |
? | 桌面版 Opera 浏览器 | 46+ | v4.7.0+ | 支持 | 支持 | 支持 Opera60+ 版本 |
? | 桌面版微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
? | 桌面版企业微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
Android | 微信内嵌浏览器 (TBS 内核) | 无明确信息 | 无要求 | 支持 | 支持 | 不支持 |
? | 微信内嵌浏览器 (XWEB 内核) | 无明确信息 | 无要求 | 支持 | 支持 | 不支持 |
? | 企业微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 支持 | 不支持 |
? | 移动版 Chrome 浏览器 | 无明确信息 | 无要求 | 支持 | 支持 | 不支持 |
? | 移动版 QQ 浏览器 | 13+ | v4.15.0+ | 支持 | 支持 | 不支持 |
? | 移动版 UC 浏览器 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
? | 夸克浏览器 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
iOS 12.1.4+ | 微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
iOS 14.3+ | 微信内嵌浏览器 | 6.5+(微信版本) | 无要求 | 支持 | 支持 | 不支持 |
iOS | 企业微信内嵌浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
iOS 11.1.2+ | 移动版 Safari 浏览器 | 11+ | 无要求 | 支持 | 支持 | 不支持 |
iOS 12.1.4+ | 移动版 Chrome 浏览器 | 无明确信息 | 无要求 | 支持 | 不支持 | 不支持 |
iOS 14.3+ | 移动版 Chrome 浏览器 | 无明确信息 | 无要求 | 支持 | 支持 | 不支持 |
注意:
1. 由于 H.264 版权限制,华为 Chrome 88 以下版本以及部分厂商的 Android 设备,不具备 H264 编码能力(即无法推流)。如果您希望在这些设备的浏览器中,使用 TRTC Web SDK 推流,请提交 Web SDK 用户能力支持申请 开通 VP8 编解码能力。
2. 建议您及时将 TRTC Web SDK 更新至最新版本,以便获得更好的产品稳定性及在线支持。版本升级注意事项请参见:升级指引。
URL 域名协议限制
由于浏览器安全策略的限制,使用 WebRTC 能力对页面的访问协议有严格的要求,请参照以下表格进行开发和部署应用。
应用场景 | 协议 | 接收(播放) | 发送(上麦) | 屏幕分享 | 备注 |
生产环境 | HTTPS 协议 | 支持 | 支持 | 支持 | 推荐 |
生产环境 | HTTP 协议 | 支持 | 不支持 | 不支持 | - |
本地开发环境 | http://localhost | 支持 | 支持 | 支持 | 推荐 |
本地开发环境 | http://127.0.0.1 | 支持 | 支持 | 支持 | - |
本地开发环境 | http://[本机IP] | 支持 | 不支持 | 不支持 | - |
本地开发环境 | file:/// | 支持 | 支持 | 支持 | - |