Web

最近更新时间:2024-12-12 18:13:12

我的收藏

环境相关问题

TUIRoomKit Web 支持的平台有哪些?

TUIRoomEngine Web 支持的平台请参考:TRTC Web SDK 对浏览器的支持情况
对于上述没有列出的环境,您可以在当前浏览器打开 TRTC 能力测试 测试是否完整的支持 WebRTC 的功能。

为什么本地开发测试能正常使用 TUIRoomKit, 但是部署到线上无法使用?

出于对用户安全、隐私等问题的考虑,浏览器限制网页只有在安全的环境下(例如 httpslocalhostfile:// 等协议),才能采集麦克风、摄像头。HTTP 协议是不安全的,浏览器会禁止在 HTTP 协议下采集媒体设备。
若您在本地开发测试一切正常,但是页面部署后,却无法正常采集摄像头、麦克风。则请检查您的网页是否部署到了 HTTP 协议上,若是,请使用 HTTPS 部署您的网页,并确保具备合格的 HTTPS 安全证书。
更多详情请参见 URL域名及协议限制说明

TUIRoomKit Web 端是否支持使用 iframe 集成?

支持的。在 iframe 中集成 TUIRoom Web 需要给 iframe 标签增加属性来开启相关权限,具体参考如下。
// 开启麦克风、摄像头、屏幕分享、全屏权限
<iframe allow="microphone; camera; display-capture; display; fullscreen;">

编译相关问题

Webpack 5 引入 TUIRoomEngine sdk 报错:webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

升级 @tencentcloud/tuiroom-engine-js npm 包到 v1.7.0 版本以上或者在 vue.config.js 中添加 configureWebpack 配置解决该问题。
module.exports = defineConfig({
// ...
configureWebpack: (config) => {
config.resolve.fallback = {
...config.resolve.fallback,
url: false,
path: false,
fs: false,
crypto: false,
};
}
});

源码导出引用项目执行 build 指令报错

如果您在执行 npm run build 时,出现如下图所示错误:



此时需要修改配置文件 tsconfig.jsonexclude 从而忽略 TUIRoom 文件夹,您可使用如下推荐配置:(vite + vue3
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"jsxImportSource": "vue",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom", "dom.iterable"],
"allowJs": true
},
"files": [],
"include": [],
"exclude": ["src/TUIRoom"],
"references": [{ "path": "./tsconfig.node.json" }]
}
如果上述修改仍然不生效,您可以直接修改打包指令 vue-tsc --noEmit --skipLibCheck && vite buildvite build。(package.json)
如果您项目使用的是 webpack + vue2,并且报错如下图所示:



除了上述配置,您还需要额外修改 .eslintignore 文件,添加 TUIRoom 文件夹进行忽略。(如没有需手动在项目根目录创建)
TUIRoom

功能相关问题

项目中可以同时引入 tim-js-sdk 和 @tencentcloud/tuiroom-engine-js 吗?

可以的。您可以通过 tim-js-sdk 中的 TIM 创建 tim 实例对象,在 TUIRoomEngine 初始化时传入 init 接口。
await TUIRoomEngine.init({
sdkAppId: 0, // 填写您申请的 sdkAppId
userId: '', // 填写您业务对应的 userId
userSig: '', // 填写服务器或本地计算的 userSig
tim, // 传入 tim 实例
});
同时,您也可以通过 roomEngine.getTIM 方法获取 TUIRoomEngine 内部使用的 tim 实例。