微信小程序_对接声网_视频会议

news2024/11/16 15:40:36

目录

一、开通声网账号

 1.注册账号

2.新建项目

3.开启小程序服务

二、对接声网小程序

1.前提条件

2.跑通API示例项目

3.合并两个项目

三、嵌入声网web网页

1.准备html页面

2.web-view组件


开发的微信小程序项目里面有多人会议,对接声网,有两种实现方式,各有利弊,下面分别说一下。

一、开通声网账号

 1.注册账号

声网官网https://sso.shengwang.cn/cn/v4/signup/with-smsicon-default.png?t=N7T8https://sso.shengwang.cn/cn/v4/signup/with-sms点击链接,注册账号。

注册后,登录,进入声网首页:

2.新建项目

首先实名认证,然后创建项目。

​     

每个月有免费的10000分钟。

我的项目用的灵动课堂,你可以选择通用项目。

创建完成后,首页左上角选择创建好的项目,如果有多个项目,在这个切换。

查看当前项目信息:

3.开启小程序服务


二、对接声网小程序

1.前提条件

对接声网小程序,你的微信小程序账号需要具备两个条件:

①企业认证,个人的不行。

②拥有以下类目中的一种,这样才能开通实时音视频媒体组件。

小程序官方文档,关于开通实时音视频权限icon-default.png?t=N7T8https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html

对接声网小程序,要求你的开发代码是微信原生框架(Vanilla)。如果你使用的uniapp,而且你项目已经开发了一部分那也不要慌。说一下解决办法;

uniapp经过编译才在微信开发者工具执行,编译后的代码就是微信原生框架代码,可以在这个基础上对接声网小程序,但是一定注意,把代码拷贝出去,要不然你哪次忘了,重新编译,那对接的代码就没了。

你的uniapp项目运行到微信开发者工具,运行一次后,在你的uniapp项目找到unpackage文件夹,dev文件夹,下面的mp-weixin,就是编译后的微信原生框架代码,拷贝一份出去,直接用微信开发者工具打开,在这个基础上进行接入声网小程序。

2.跑通API示例项目

如果从0开始一点一点往自己的项目集成声网小程序,肯定花费时间更多,我们可以跑通他的示例项目,然后把我们的代码移植过来,改一下路由跳转以及首页即可。

跑通声网小程序API示例项目icon-default.png?t=N7T8https://doc.shengwang.cn/doc/rtc/mini-program/get-started/run-demo运行起来之后,用手机扫微信开发者工具预览功能的二维码,进行预览:

注:你需要先在后端创建一个房间,才能获得房间号。

声网创建一个会议房间icon-default.png?t=N7T8https://doc.shengwang.cn/doc/flexible-classroom/restful/api/api-classroom#%E5%88%9B%E5%BB%BA%E8%AF%BE%E5%A0%82

      

3.合并两个项目

如果你的你的项目已经开发了一部分,使用uniapp编译成微信原生框架后。

现在需要合并两个项目​​​,最好是将你的项目移植到声网小程序示例项目上,只需要注意以下几点:

①pinia / vuex 的store文件夹移植。

②对接后端api的封装api文件夹移植。

③app.js、app.json,引入的文件,在声网小程序再添加一下。

④package.json、package-lock.json,将你下载的一些依赖,在声网小程序再下载一下。


三、嵌入声网web网页

小程序对接声网音视频还有一种方式,就是嵌入声网web网页,但是此种方法有很大弊端:

①声网不建议这么做,用户体验不好。

②无法适配手机端样式,画面左侧被截掉一部分,剩余部分需要左右滚动屏幕。我这个是灵动课堂,你在声网选择的实时音视频产品,如果不是声网,则跟我这个显示不一样。但是接入方法一样。滚动前左侧图片,滚动后右侧图片。

      

1.准备html页面

在阿里云或腾讯云,开一个存储桶(也就几块钱),把下面这个html文件放进去。权限设置为所有都可以访问。

enterSW.html:

<!DOCTYPE html>
<html lang="">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1.0">

  <!-- 请把 script的src 的版本号替换为你的灵动课堂版本号,例如 2.9.40。你可以通过发版说明或 GitHub 仓库分支查看最新版本号。 -->

		<script src="https://download.agora.io/edu-apaas/release/edu_sdk@2.9.40.bundle.js"></script>
	</head>

	<body>
		<div class="videoContainer"></div>
		<style>
			.videoContainer {
				width: 100vw;
				height: 100vh;
				overflow: auto;
			}
		</style>
		<script type="text/javascript">

			var fullUrl = window.location.href;
			let data = String(decodeURIComponent(fullUrl)).split('*&=&*')[1];
			let agoraData = data.split(',');
			AgoraEduSDK.config({
				appId: '你的声网appid,在声网项目详情查看',
				region: 'cn'
			});
			// 启动在线课堂。
			AgoraEduSDK.launch(document.querySelector('.videoContainer'), {
				userUuid: agoraData[2],
				userName: agoraData[3],
				roomUuid: agoraData[4],
				roleType: Number(agoraData[5]), // 用户角色:1 为老师,2 为学生, 3助教。
				roomType: Number(agoraData[7]), // 房间类型:0 为一对一,2 为大班课,4 为小班课。
				roomName: agoraData[1],
				pretest: true, // 是否开启课前设备检测。
				rtmToken: agoraData[6],
				language: 'zh', // 课堂界面的语言。如需界面为英文,设为 'en' 即可。
				duration: 60 * 30, // 课程时间,单位为秒。
				// recordUrl: 'https://teaching-research-1314823014.cos.ap-nanjing.myqcloud.com/js/shengwang/edu_sdk.bundle.gz.js',
				courseWareList: [],
				webrtcExtensionBaseUrl: 'https://solutions-apaas.agora.io/static', // WebRTC 插件部署地址
				uiMode: 'light', // 设置课堂界面为明亮模式。如需界面为暗黑模式,设为 'dark' 即可。
				platform: 'H5',
			});
		</script>
	</body>

</html>

2.web-view组件

要想使用web-view组件,需要先在微信公众平台,也就是小程序后台,填写业务域名。需要是企业认证账号,个人不行。然后填写上一步enterSW.html所在域名,并根据提示进行校验。

在你的小程序项目里面,使用web-view组件,引入上面的html,并给他传参。

index.vue

<template>
	<web-view :src="'你的存储桶地址/enterSW.html?data*&=&*' + encodeURI(videoData)"></web-view>
</template>

<script setup>
import { reactive, toRefs } from 'vue';

const state = reactive({
	videoData: []
});
const { videoData} = toRefs(state);

// 从后端获得videoData数组,并赋值给state.videoData 。
// videoData包含这些数据(theme(房间名字)、userUuid、userName、roomUuid、rtmRole、rtmToken、roomType)

</script>

<style scoped lang="scss">

</style>

后端创建一个房间,并传参给前端,此时就可以进入房间了。如果你想从enterSW.html,给小程序页面传参,参考这个:

web-view组件能力icon-default.png?t=N7T8https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

如果你是web网页项目想对接声网web,参考这个文章:

Vue3_对接声网实时音视频_多人视频会议icon-default.png?t=N7T8https://blog.csdn.net/zxy19931069161/article/details/140824129?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

洛谷 P1548 [NOIP1997 普及组] 棋盘问题 题解

题目背景 NOIP1997 普及组第一题 题目描述 设有一个NM 方格的棋盘 (1≤N≤100,1≤M≤100) 求出该棋盘中包含有多少个正方形、多少个长方形&#xff08;不包括正方形&#xff09;。 例如&#xff1a;当 N2,M3时&#xff1a; 正方形的个数有 8 个&#xff1a;即边长为 1 的正…

(附源码)Springboot 书店销售管理-计算机毕设 42172

Springboot 书店销售管理 目 录 摘要 1 绪论 1.1 研究意义 1.2选题背景 1.3springboot框架介绍 2 书店销售管理系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析…

PCB电路板散热的技巧

对于电子设备来说&#xff0c;工作时都会产生一定的热量&#xff0c;从而使设备内部温度迅速上升&#xff0c;如果不及时将该热量散发出去&#xff0c;设备就会持续的升温&#xff0c;器件就会因过热而失效&#xff0c;电子设备的可靠性能就会下降。 因此&#xff0c;对电路板…

独立站转化率优化移动端篇丨出海笔记操盘手面对面精华

关于独立站转化率优化&#xff0c;其实有专业的术语叫做CRO——conversion rate optimize。其实这是个很大很大的话题。里面其实包括站站外和站内的两部分&#xff0c;站外不用多说了比如就是广告&#xff0c;或者是其他的流量渠道等等&#xff0c;站内优化是我们今天要讲的重点…

springboot高校科研成果管理系统-计算机毕业设计源码48574

摘要 随着科研规模和复杂度的增加&#xff0c;管理科研成果、经费申请等方面变得愈发困难&#xff0c;需要系统化的管理工具进行支持。并且科研活动产生的数据量庞大&#xff0c;也越来越来越多的成果涌现&#xff0c;需要有效的数据管理系统来对高校科研成果进行处理、审核和发…

记录|如何统一管理多个同一个对象?

目录 前言一、对象就用对象数组管理更新时间 前言 自己的感想 一开始&#xff0c;自己没弄懂C# winform中的testBox是什么&#xff0c;导致创建多个testBox的时候要用很笨的方法来进行管理。 就是下面这种&#xff1a;用数组一个一个掉用里面的单独属性。 string[] str new …

操作系统之Linux相关 内存管理、虚拟内存、设计特点、网络编程模型

Linux 文章目录 LinuxLinux 内存管理Linux 虚拟内存概述虚拟地址与物理地址的映射内存分页分页的优势虚拟地址到物理地址的映射机制分级页表的缺陷段页式内存管理 Linux 信号Linux 设计特点I/O 多路复用五种 I/O 模型详解Linux 网络编程模型软链接和硬链接对比中断和异常用户态…

8G内存的Mac够用吗 ?苹果电脑内存满了怎么清理?可以有效地管理和优化你的Mac电脑内存,确保设备运行流畅

嘿&#xff0c;朋友们&#xff0c;让咱们聊聊怎么让我们的Mac小伙伴时刻保持巅峰状态吧&#xff01;想象一下&#xff0c;每一次点击、每一次滑动&#xff0c;都如同初见时那般丝滑顺畅&#xff0c;是不是超级心动&#xff1f;为了这份持久的畅快体验&#xff0c;我强烈推荐大家…

提升教学效率,智慧校园班主任管理的下课堂功能助力

在智慧校园学工系统中&#xff0c;班主任管理课堂的关键在于利用系统提供的工具高效执行点名与秩序维护。班主任可以借助系统快速进行点名&#xff0c;自动匹配班级学生名单&#xff0c;简化整个流程。系统支持多样化的点名方式&#xff0c;包括传统手动点名、二维码签到&#…

6-2 图像卷积

互相关运算 严格来说&#xff0c;卷积层是个错误的叫法&#xff0c;因为它所表达的运算其实是互相关运算&#xff08;cross-correlation&#xff09;&#xff0c;而不是卷积运算。 根据 6-1节中的描述&#xff0c;在卷积层中&#xff0c;输入张量和核张量通过互相关运算产生输…

On Stacking a Persistent Memory File System on Legacy File Systems——论文泛读

FAST 2023 Paper 分布式元数据论文阅读笔记整理 问题 非易失性主存储器&#xff08;NVMM&#xff09;具有与DRAM类似的低访问延迟和字节可寻址性&#xff0c;同时实现数据的非易失性。但存在以下缺点&#xff1a;&#xff08;1&#xff09;延迟高于DRAM&#xff0c;&#xff…

PVE虚拟机被锁定:VM is locked解决方法

&#x1f31f;&#x1f30c; 欢迎来到知识与创意的殿堂 — 远见阁小民的世界&#xff01;&#x1f680; &#x1f31f;&#x1f9ed; 在这里&#xff0c;我们一起探索技术的奥秘&#xff0c;一起在知识的海洋中遨游。 &#x1f31f;&#x1f9ed; 在这里&#xff0c;每个错误都…

前端面试宝典【设计模式】【1】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…

某RED书旋转验证码标注工具

注意&#xff0c;本文只提供学习的思路&#xff0c;严禁违反法律以及破坏信息系统等行为&#xff0c;本文只提供思路 本文的验证码网址如下&#xff0c;使用base64解码获得 最近&#xff0c;某书的旋转验证码又更新了&#xff0c;在我之前的文章有讲过利用梯度幅度计算图像边缘…

Apache 的POI居然还能操作PPT,快来试试看

上次我们讲的用POI操作excel。Java操作Excel(Apache Poi详解) 那么java怎么操作ppt呢&#xff0c;其实poi也提供了操作ppt的sdk&#xff0c;现在我们来直接用Apache的poi操作ppt 首先我们要知道的是PPT有两种&#xff0c;一种格式是PPT&#xff0c;一种格式是PPTX&#xff0c;P…

Seata的使用

Seata Seata是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。 术语 TC(Transaction Coordinator) -事务协调者&#xff08;相当于服务端&#xff09; 维护全局和分支事务的状态&#xff0c;驱动全局事务提交或回滚 TM(Transaction …

使用Python实现Excel文件首页截图工具

日常工作中&#xff0c;尤其是处理大量Excel文件时&#xff0c;可能需要对文件的首页进行截图保存&#xff0c;以便于后续的快速查看或报告编写。今天&#xff0c;我将分享一个用Python编写的Excel文件首页截图工具。这个工具将帮助我们自动化地对选定的Excel文件进行首页截图&…

Linux驱动入门—什么是驱动?体系结构,驱动的分类,开发驱动需要注意的问题

文章目录 什么是驱动&#xff1f;Linux系统体系结构用户空间与内核空间的隔离用户应用程序库函数用户空间守护进程命令行接口&#xff08;CLI&#xff09;图形用户界面&#xff08;GUI&#xff09; 内核空间内核的角色和职责内核空间与用户空间的区别内核的结构和组成内核空间的…

【Linux】网络架构探秘:网络层功能、IP协议详解及路由过程指南

文章目录 前言&#xff1a;1. 网络层是干什么的&#xff1f;2. IP协议2.1 理论铺垫2.2 IP协议的头格式2.3 网段划分&#xff08;重点&#xff09;2.3.1 分类划分法&#xff1a;2.3.2 子网掩码&#xff1a;2.3.3 为什么要经行子网划分? 2.4 特殊的IP地址2.5 IP地址的数量限制2.…

个人量化交易兴起!有什么好用的量化软件推荐?迅投QMT量化平台简介!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端&#xff0c;拥有高速行情、极速交易、策略交易、多维度风控等专业功能&#xff0c;满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…