tencent cloud

文档反馈

Web&H5 (Vue3)

最后更新时间:2024-04-03 17:23:11
    本文将介绍如何快速完成 TUICallKit 组件的接入,您将在 10 分钟内完成以下几个关键步骤,并最终得到一个包含完备 UI 界面的视频通话功能。
    桌面端
    移动端
    视频通话
    语音通话
    
    
    
    
    
    
    1v1 通话
    群组通话
    
    
    
    
    
    
    

    TUICallKit Demo 体验

    如果您想要直接体验音视频通话,进入 Demo 体验页面
    如果您想要直接跑通一个新工程,请直接阅读 Web Demo 快速跑通

    环境准备

    Node.js 版本:Node.js ≥ 12.13.0(推荐使用官方 LTS 版本,npm 版本请与 node 版本匹配)。
    Modern browser, supporting WebRTC APIs.

    步骤一:开通服务

    在使用腾讯云提供的音视频服务前,您需要前往控制台,为应用开通音视频服务。具体步骤请参见 开通服务。

    步骤二:创建 Vue3 项目

    1. 如果您尚未安装 vue-cli ,可以在 terminal 或 cmd 中采用如下方式进行安装:
    npm install -g @vue/cli
    2. 通过 vue-cli 创建项目,并选择下图中所选配置项。
    vue create tuicallkit-demo
    
    
    
    3. 创建完成项目,切换到项目所在目录。
    cd tuicallkit-demo

    步骤三:下载 TUICallKit 组件

    1. 通过 npm 方式下载 @tencentcloud/call-uikit-vue 组件并在项目中使用。
    npm install @tencentcloud/call-uikit-vue
    2. 将 debug 目录复制到您的项目。
    MacOS
    Windows
    cp -r node_modules/@tencentcloud/call-uikit-vue/debug ./src
    xcopy node_modules\\@tencentcloud\\call-uikit-vue\\debug .\\src\\debug /i /e

    步骤四:引入 TUICallKit 组件

    1. 如下代码示例中的 SDKAppID、SDKSecretKey 、userID、callUserID 四个参数。
    SDKAppID:在腾讯云创建的音视频应用 SDKAppID,参见 开通服务
    SDKSecretKey:用户签名,参见 开通服务
    userID:主叫的 userID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。
    callUserID:被叫的 userID,需要已初始化存在。(demo 中的 callUserID,当有被叫时输入,无被叫可以不输入)。
    2. tuicallkit-demo/App.vue 中引入下面代码。
    说明:TUICallKit 组件需要放到一个 dom 节点里,用于显示并控制 TUICallKit 的位置、宽高等样式。
    <template>
    <div style="padding: 20px 0 0 20px">
    <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()" style="margin: 10px 10px 10px 0; height: 28px;"> Step 1: Initialization </button>
    <button @click="call()" style="margin: 10px 10px 10px 0; height: 28px;"> Step 2: Start 1v1 video call </button>
    <div style="width: 50rem; height: 35rem; border: 1px solid salmon;">
    <TUICallKit />
    </div>
    </div>
    </template>
    <script lang="ts" setup>
    import { ref } from 'vue';
    import { TUICallKit, TUICallKitServer, TUICallType } from "@tencentcloud/call-uikit-vue";
    import * as GenerateTestUserSig from "./debug/GenerateTestUserSig-es";
    
    const userID = ref('');
    const callUserID = ref('');
    const SDKAppID = 0; // Replace with your SDKAppID
    const SDKSecretKey = ''; // Replace with your SDKSecretKey
    
    async function init() {
    try {
    const { userSig } = GenerateTestUserSig.genTestUserSig({
    userID: userID.value,
    SDKAppID: SDKAppID,
    SecretKey: SDKSecretKey,
    });
    await TUICallKitServer.init({ //【1】Initialize the TUICallKit component
    SDKAppID,
    userID: userID.value,
    userSig,
    });
    alert("[TUICallKit] Initialization success.");
    } catch (error: any) {
    alert(`[TUICallKit] Initialization failed. Reason: ${error}`);
    }
    }
    async function call() { //【2】Make a 1v1 video call
    try {
    await TUICallKitServer.call({ userID: callUserID.value, type: TUICallType.VIDEO_CALL });
    } catch (error: any) {
    alert(`[TUICallKit] Call failed. Reason: ${error}`);
    }
    }
    </script>

    步骤五:拨打您的第一通电话

    在终端输npm run serve运行 tuicallkit-demo。
    警告:本地环境请在 localhost 协议下访问,具体参见 网络访问协议说明
    点击 Step 1: Initialization Button,弹出 Initialization success 表示初始化成功。
    
    
    
    点击 Step 2: Start 1v1 video call 发起 1v1 视频通话,具体效果如下图所示。
    
    
    

    更多特性

    悬浮窗

    常见问题

    如果您的接入和使用中遇到问题,请参见 常见问题

    技术咨询

    如果有任何需要或者反馈,您可以联系:info_rtc@tencent.com 。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持