腾讯云实时音视频API 概览_音视频解决方案_同尘科技
支持的平台
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+ 版本(注意[3]) |
| 桌面版 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:/// | 支持 | 支持 | 支持 | – |
API 介绍
TRTC
注意本文适用于 5.x 版本的 TRTC Web SDK。若您使用 4.x 版本,可以参考 此处文档。TRTC 对象通过调用 TRTC.create()
方法创建,提供实时音视频的核心能力:进入一个音视频房间,调用 trtc.enterRoom()
方法退出当前音视频房间,调用 trtc.exitRoom()
方法预览/发布本地视频,调用 trtc.startLocalVideo()
方法采集/发布本地音频,调用 trtc.startLocalAudio()
方法取消预览/发布本地视频,调用 trtc.stopLocalVideo()
方法取消采集/发布本地音频,调用 trtc.stopLocalAudio()
方法观看远端视频,调用 trtc.startRemoteVideo()
方法取消观看远端视频,调用 trtc.stopRemoteVideo()
方法静默/取消静默远端音频,调用 trtc.muteRemoteAudio()
方法
静态方法
API | 描述 |
create | 创建一个 TRTC 对象,用于实现进房、预览、推流、拉流等功能。 |
setLogLevel | 设置日志输出等级建议在开发测试阶段设置为 DEBUG 等级,该日志等级包含详细的提示信息。默认输出 INFO 日志等级,该日志等级包含 SDK 主要功能的日志信息。 |
isSupported | 检测 TRTC Web SDK 是否支持当前浏览器 |
getCameraList | 返回摄像头设备列表 |
getMicrophoneList | 返回麦克风设备列表 |
getSpeakerList | 返回扬声器设备列表,出于安全的考虑,在用户未授权摄像头或麦克风访问权限前,label 及 deviceId 字段可能都是空的。因此建议在用户授权访问后再调用该接口获取设备详情。 |
setCurrentSpeaker | 设置当前音频播放的扬声器 |
成员方法
创建实例后调用。
API | 描述 |
enterRoom | 进入一个音视频通话房间(以下简称”进房”) |
exitRoom | 退出当前音视频通话房间 |
switchRole | 切换用户角色,仅在 TRTC.TYPE.SCENE_LIVE 互动直播模式下生效 |
destroy | 销毁 TRTC 实例 |
startLocalAudio | 开启本地麦克风采集,并发布到当前的房间中 |
updateLocalAudio | 更新本地麦克风配置 |
stopLocalAudio | 停止本地麦克风的采集及发布 |
startLocalVideo | 开启本地摄像头采集,在您指定的 HTMLElement 标签下播放摄像头画面,并将摄像头画面发布到当前所在房间中 |
updateLocalVideo | 更新本地摄像头配置 |
stopLocalVideo | 停止本地摄像头的采集、预览及发布 |
startScreenShare | 开启屏幕分享 |
updateScreenShare | 更新屏幕分享配置 |
stopScreenShare | 停止屏幕分享 |
startRemoteVideo | 播放远端视频 |
updateRemoteVideo | 更新远端视频播放配置 |
stopRemoteVideo | 用于停止远端视频播放 |
muteRemoteAudio | 静音某个远端用户,并且不再拉取该用户的音频数据。仅对当前用户有效,房间内的其他用户依然可以听到被静音用户的声音。 |
setRemoteAudioVolume | 用于控制远端音频的播放音量 |
enableAudioVolumeEvaluation | 开启或关闭音量大小回调 |
on | 监听 TRTC 事件,详细事件列表请参见:TRTC.EVENT |
off | 取消事件监听 |
getVideoTrack | 获取视频轨道 |
getAudioTrack | 获取音频轨道 |
API 使用指引
更详细的初始化流程和 API 使用介绍请参见以下指引:
功能 | Sample Code 指引 |
基础音视频通话 | 指引链接 |
实现互动直播连麦 | 指引链接 |
切换摄像头和麦克风 | 指引链接 |
设置本地视频属性 | 指引链接 |
开关摄像头、麦克风 | 指引链接 |
屏幕分享 | 指引链接 |
音量大小检测 | 指引链接 |
自定义采集与自定义播放渲染 | 指引链接 |
房间内上行用户个数限制 | 指引链接 |
通话前环境与设备检测 | 指引链接 |
通话前的网络质量检测 | 指引链接 |
处理设备插拔 | 指引链接 |
云端混流和转推 CDN | 指引链接 |
开启大小流 | 指引链接 |
开启水印 | 指引链接 |
开启虚拟背景 | 指引链接 |
开启 AI 降噪 | 指引链接 |
实现跨房连麦 | 指引链接 |
实时语音识别 | 指引链接 |
说明常见问题参见 Web 端相关。
联系我们
若您遇到任何问题,请随时 联系我们。
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案