uniapp、vue2.6、H5,利用腾讯TRTC,快速跑通1v1视频功能

多人视频聊天室搭建,官网已有相关demo和案例,需要快速搭建多人聊天室直接进入以下网站:

实时音视频 Web & H5 (Vue2/Vue3)-视频通话(含 UI)-文档中心-腾讯云说明:https://cloud.tencent.com/document/product/647/78731#step1

以下仅介绍1v1视频聊天demo的搭建(仅前段也可以实现):

步骤一: 登录到 即时通信 IM 控制台,单击创建新应用 ,在弹出的对话框中输入您的应用名称,并单击确定

申请成功后会有以上列表。

步骤二:单击刚刚创建的应用,进入基本配置页面 ,并在页面的右下角 找到含 UI 低代码场景方案 标题,单击免费体验 即可开通 TUICallKit 的 7 天免费试用服务

步骤三:在同一页面找到 SDKAppID 和**密钥(SecretKey)**并记录下来,它们会在后续的步骤中被用到。

步骤四:下载相应依赖:

javascript 复制代码
npm install @tencentcloud/call-uikit-vue2.6 @vue/composition-api 

将 debug 目录复制到您的项目。

MacOSo端:

javascript 复制代码
cp -r node_modules/@tencentcloud/call-uikit-vue2.6/debug ./src

Windows:

javascript 复制代码
xcopy node_modules\@tencentcloud\call-uikit-vue2.6\debug .\src /i /e

步骤五:创建虚拟userId

步骤六:创建虚拟UserSig(用户签名,上线后由后端提供)

登录 - 腾讯云腾讯云为数百万的企业和开发者提供安全、稳定的云服务器、云主机、CDN、对象存储、域名注册、云存储、云数据库等云服务,帮助用户解决游戏、视频、移动、微信、互联网+等行业的架构难题,是全球领先的云计算服务商。https://console.cloud.tencent.com/trtc/usersigtool

步骤七:引入依赖,main.js中

javascript 复制代码
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

如下图:

步骤八:创建index.vue页面,页面名字自行定义。内容如下:

javascript 复制代码
<template>
	<div>
		<div v-if="time && time !== 10">剩余时间:{{ time }}</div>
		<div><span>userID:</span><input type="text" v-model="userID" /></div>
		<div style="margin-top: 6px;"><span>callUserID:</span><input type="text" v-model="callUserID" /></div>
		<button @click="init(userID)"> 用户1 </button>
		<button @click="init(callUserID)"> 用户2 </button>
		<button @click="call()"> 打电话 </button>
		<div style="height: 50vh; border: 1px solid salmon;">
			<TUICallKit :statusChanged="statusChanged" />
		</div>
	</div>
</template>
<script>
import { TUICallKit, TUICallKitServer, TUICallType } from "@tencentcloud/call-uikit-vue2.6";

export default {
	name: 'App',
	data() {
		return {
			time: 10,
			// SDKAppID、userSig 的获取参考下面步骤
			userID: 'test-user1',     // 主叫的 userID   创建的用户1
			callUserID: 'test-user2', // 被叫的 userID   创建的用户1
			SDKAppID: 1600021236849,    // 替换成你对应的SDKAppID
			SecretKey: 'e5ca336b2888356fdd0b90311df4d7bc5364d403bf',  // 替换成对应的SecretKey
		};
	},
	components: {
		TUICallKit
	},
	methods: {
		async init(id) {
			console.log('init:', TUICallKitServer)
			try {
				// userSig 用拷贝过来的userSina替换
				const userSig = 'RYHsacc4jTKJsKvgxZHFwIAUOa1FP7tyTkAGkEszq6D*e3pm6hR4qL7Rs3RqZO7jQUF5Md97qsslJ2VvW6ThanNfv*AFaPMv4_'
				await TUICallKitServer.init({
					SDKAppID: Number(this.SDKAppID),
					userID: id,
					userSig,
					// tim: this.tim     // 如果工程中已有 tim 实例,需在此处传入
				});
				alert("[TUICallKit] Initialization succeeds.");
			} catch (error) {
				alert(`[TUICallKit] Initialization failed. Reason: ${error}`);
			}
		},
		async call() {
			try {
				// 1v1 video call
				await TUICallKitServer.call({ userID: this.callUserID, type: TUICallType.VIDEO_CALL });
			} catch (error) {
				alert(`[TUICallKit] Call failed. Reason: ${error}`);
			}
		},
		statusChanged(option) {
			console.log('option:', option)
			if (option.newStatus === 'calling-c2c-video') {
				let timer = window.setInterval(() => {
					if (this.time) {
						this.time--;
					} else {
						window.clearInterval(timer)
						console.log('TUICallEngine=========:', TUICallKitServer)
						TUICallKitServer.hangup();
					}
				}, 1000)
			}
		}
	},
}
</script>

最后打包上测试服测试(注意:测试只能在测试服测试,本地无法测试,注意用户1点击用户1按钮,用户2点击用户2按钮,最后就是用户1对用户2发起视频,测试就通了)

相关推荐
小雨下雨的雨4 分钟前
鸿蒙PC用Electron框架——Canvas蜡笔抖动效果实现技术深度解析
前端·javascript·华为·electron·鸿蒙系统
ZC跨境爬虫5 分钟前
跟着 MDN 学CSS day_49:定位实例练习从入门到精通
前端·css·学习
前端小万5 分钟前
用AI两小时开发上架的小程序,单日新增用户173
前端·微信小程序
道友可好9 分钟前
Spec Kit:GitHub 官方出品,规范即代码
前端·人工智能·后端
七牛云行业应用11 分钟前
Grok Imagine Video 1.5 实战指南:图生视频 API 完整接入与参数调优
音视频
木斯佳13 分钟前
前端八股文面经大全:磐松私募-27届前端实习一面(2026-05-27)·面经深度解析
前端
薛先生_09917 分钟前
声明式导航(route-link)(跳转传参)
前端
郑州光合科技余经理22 分钟前
海外版外卖系统:如何快速搭建国际化外卖平台
java·开发语言·前端·人工智能·小程序·系统架构·php
小雨下雨的雨29 分钟前
蜡笔小画家鸿蒙PC用Electron框架 - 儿童学画蜡笔画技术实现详解
前端·javascript·华为·electron·前端框架·交互·鸿蒙系统
天蓝色的鱼鱼29 分钟前
别只拿 Playwright 写测试,这三个野路子用法才是真香
前端