API 介绍
TRTC
注意:
进入一个音视频房间,调用
trtc.enterRoom()
方法。退出当前音视频房间,调用
trtc.exitRoom()
方法。预览/发布本地视频,调用
trtc.startLocalVideo()
方法。采集/发布本地音频,调用
trtc.startLocalAudio()
方法。取消预览/发布本地视频,调用
trtc.stopLocalVideo()
方法。取消采集/发布本地音频,调用
trtc.stopLocalAudio()
方法。观看远端视频,调用
trtc.startRemoteVideo()
方法。取消观看远端视频,调用
trtc.stopRemoteVideo()
方法。静默/取消静默远端音频,调用
trtc.muteRemoteAudio()
方法。静态方法
API | 描述 |
创建一个 TRTC 对象,用于实现进房、预览、推流、拉流等功能。 | |
设置日志输出等级建议在开发测试阶段设置为 DEBUG 等级,该日志等级包含详细的提示信息。默认输出 INFO 日志等级,该日志等级包含 SDK 主要功能的日志信息。 | |
检测 TRTC Web SDK 是否支持当前浏览器 | |
返回摄像头设备列表 | |
返回麦克风设备列表 | |
返回扬声器设备列表,出于安全的考虑,在用户未授权摄像头或麦克风访问权限前,label 及 deviceId 字段可能都是空的。因此建议在用户授权访问后再调用该接口获取设备详情。 | |
设置当前音频播放的扬声器 |
成员方法
创建实例后调用。
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+ | 支持 | 支持 | |
| 桌面版 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:/// | 支持 | 支持 | 支持 | - |