实时音视频应用开发实践
不同于之前的快速开始,这篇文章将使用 Web SDK 详细地介绍一个可用的连麦应用搭建流程,并针对一些常见的问题和需求给出一套可用的解决方案。
目标
我们的目标是一个可以被用于产品的网页连麦应用,为了不让过程显得太复杂,我们将这个连麦的场景定为一对一连麦,也就是两人的在线视频通话。这篇教程将给这个一对一连麦应用实现如下功能:
- 基本的连麦功能
- 基本后端服务(使用 NodeJS)
- 纯音频连麦
- 自动订阅/发布
- 大小窗切换
- 绘制声波图
准备
如果您打算跟着这篇教程一步一步搭建自己的连麦应用,请首先确认完成了下方的开发准备:
- 拥有基本的 Javascript 开发经验,理解 Promise/async/await 等异步方案
- 一台拥有摄像头和麦克风的设备(usb 摄像头/麦克风也可以)并安装了最新的 Chrome 浏览器
- 完成 接入流程 ,拥有一个创建好的 app(建议将 app 的房间最大人数设置为 2 人)
开发流程概述
在正式进入开发流程之前,让我们先梳理一下接下来开发流程的大概结构。之后的篇幅会比较长,您可以根据整个流程结构选择阅读想要了解的细节,或者是对整个开发过程有个初步的认识。
整个开发过程分成 3 个部分,后端开发、连麦基本功能开发 和 应用功能完善。
后端开发将使用 NodeJS 配合七牛的 NodeJS SDK 来搭建一个简单的后台服务,负责计算 roomToken 提供给前端。
连麦基本功能开发会使用 Web SDK 完成一个基本的一对一通话功能。这里我们不会使用任何的 Web 开发框架,所有的代码都会是框架无关代码。
应用功能完善会一步一步完善我们目标中制定的所有功能,最终达成我们的目标。
好了,让我们正式进入开发流程吧。