IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> uniapp:小程序对接腾讯云语音视频通话,简单demo -> 正文阅读

[JavaScript知识库]uniapp:小程序对接腾讯云语音视频通话,简单demo

我发现啊,现在小程序的地位是越来越高了,各种各样的业务,五花八门的功能;最近又接了一个新的功能,在小程序上实现语音视频通话,咋办?搞呗!

先放文档:

实时音视频 集成 TUICalling (uni-app /小程序) - 含 UI 集成方案 - 文档中心 - 腾讯云

有一说一,这个文档写的其实还是相当详细的

1. 把小程序后台的接口设置打开以下功能

?2. 去github上拉代码

https://github.com/TencentCloud/TIMSDK/tree/master/uni-app/TUICalling/TUICalling-miniprogram

我们要的是这个uniapp项目,可别整错了

?3. 将TUICalling-miniprogram中的wxcomponents文件夹放进我们自己的项目中

?4. 配置我们自己项目的pages.json,值得注意的是,你在哪个页面进行语音视频通话的需求,就在哪个页面进行引入,注意目录路径,单词拼写,千万别整错了!

5. 如何使用?

我先简单说一下这个demo的场景,模拟了两个人,需要两部手机, 一人为普通用户,一人为客服人员;这两个人可以进行视频或者是语音通话!

首先进入应用选择,自己是什么角色

index.vue

<template>
	<view class="content">
		<button type="primary" @click="setUser">我是用户</button>
		<button type="primary" plain @click="setCmr">我是客服</button>
	</view>
</template>

<script>
import { mapMutations } from 'vuex';
export default {
	methods: {
		...mapMutations(['setUserInfo']),
		setUser() {
			this.setUserInfo('user');
			uni.redirectTo({
				url: '/pages/calling/calling?userID=cmr'
			});
		},
		setCmr() {
			this.setUserInfo('cmr');
			uni.redirectTo({
				url: '/pages/calling/calling?userID=wxy'
			});
		}
	}
};
</script>

<style lang="scss">
.content {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
</style>

选择完成之后,我们把我们自己的用户数据设置在vuex里面

import Vue from 'vue';
import Vuex from 'vuex';


Vue.use(Vuex)

const userObj = {
	user: {
		userID: 'wxy',
		userSig: `aaa示例数据`
	},
	cmr: {
		userID: 'cmr',
		userSig: `bbb示例数据`
	}
}
const store = new Vuex.Store({
	state: {
		userInfo: {}
	},
	mutations: {
		setUserInfo(state, identity) {
			state.userInfo = userObj[identity]
		}
	}
})

export default store

这个时候,可能得问,这个userID,userSig是从何而来的,我指条路,因为这种牵扯到 用户账号的私密性,你也知道,这种数据是不会放在前台的,得从自己的服务器请求得到,但是因为是示例,所以就直接写死在前台了,测试数据从那里来的话,看下面:

登录 - 腾讯云

?自己去生成两个测试的账号就可以了!

最后,拨打通话的页面 calling.vue

config中的sdkAppId,是在这里获得的,创建应用之后,列表里面就会有这个sdkAppId

<template>
	<view class="content">
		<tuicalling ref="TUICalling" id="TUICalling-component" :config="config"></tuicalling>
		<view style="width: 100vw;text-align: center;font-size: 40rpx;">当前身份:{{ config.userID === 'cmr' ? '客服人员' : '普通用户' }}</view>
		<button type="primary" @click="voiceCall">语音通话</button>
		<button type="warn" @click="videoCall">视频通话</button>
	</view>
</template>

<script>
import { mapState } from 'vuex';
export default {
	data() {
		return {
			userID: '',
			config: {
				sdkAppID: 999, // 开通实时音视频服务创建应用后分配的 SDKAppID
				userID: '', // 用户 ID,可以由您的帐号系统指定
				userSig: '' // 身份签名,相当于登录密码的作用
				// type: 2 //1.语音  2.视频
			},
			TUICalling: null
		};
	},
	onLoad({ userID }) {
		this.userID = userID;
		this.config.userID = this.userInfo?.userID;
		this.config.userSig = this.userInfo?.userSig;
	},
	onReady() {
		this.TUICalling = this.$refs.TUICalling;
		this.TUICalling.init();
	},
	onUnload() {
		this.$refs.TUICalling.destroyed();
	},
	computed: {
		...mapState(['userInfo'])
	},
	methods: {
		voiceCall() {
			this.TUICalling.call({
				userID: this.userID,
				type: 1
			});
		},
		videoCall() {
			this.TUICalling.call({
				userID: this.userID,
				type: 2
			});
		}
	}
};
</script>

<style>
.content {
	height: 100vh;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
</style>

运行测试,我们两部手机,一部选择客服,一部选择普通用户,而后都进入到calling页面,点击语音通话或者视频通话就可以了!记得真机测试!!!

?如果微信开发者工具报如下错误

?请勾选开发者工具中的增强编译选项即可,调试库调高,即可解决,

请问学会了吗?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:02:03  更:2022-04-29 12:05:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:03:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码