支持的浏览器
SRTC Web SDK 支持主流桌面端及移动端浏览器:
提示: 建议用户使用最新版 Chrome 以获得最佳体验。
微信小程序场景
需要在微信小程序里接入音视频时,推荐用小程序的 <web-view> 嵌入一个基于本 Web SDK 实现的页面,而不是再单独做一套小程序原生实现。这样一套 Web 代码同时覆盖浏览器端和小程序端,功能和后续迭代自然保持一致,维护成本最低。
接入要点:
- 被嵌入的页面必须是 HTTPS,且其域名需要在小程序管理后台配置为业务域名并通过校验
- 小程序与嵌入页之间通过
web-view 的通信机制传参,频道名、Token 等可以走 URL query 下发
- 页面运行在微信内嵌浏览器中,iOS 14.3 及以上、Android 均可正常推流与收流;仅 iOS 14.3 以下的旧系统受限于系统 WebView,只能收流
URL 协议限制
WebRTC API 对页面协议有限制,请根据部署场景选择合适的协议:
npm
CDN 直接引用
适合不使用构建工具的项目,直接在 HTML 中通过 <script> 标签引入:
CDN 引入后,全局变量 SRTC 即可直接使用。
本地下载引用
- 下载 srtc.js 和 srtc.d.ts
- 将两个文件复制到你的项目目录中
引入方式
ES Module(推荐,配合 npm)
Script 标签(配合 CDN 或本地文件)
与响应式框架集成
不要把 SRTC 实例和 join() 返回的 Channel 放进 Vue 的 reactive() / ref()、Pinia 的 state 这类深层响应式容器。SDK 内部多处依赖对象身份比较(频道、轨道、订阅关系),实例被代理后这些比较会失效,而且失败是静默的——典型表现是频道事件一个都收不到,却没有任何报错。
请用 markRaw() 或 shallowRef 存放: