声网 Agora 小程序 SDK 支持微信小程序实现功能, 并能与声网其他 SDK 进行互通:
- 音视频通话
- 音视频直播
视频通话 SDK 可实现一对一单聊、多人群聊,同时具备纯语音通话和视频通话功能。
视频通话和视频互动直播不同。视频通话,不分主播和观众,所有用户都可自由发言,默认流畅和低延时优先,画质稍低,典型场景如多人视频会议;互动直播,用户区分主播和观众,只有主播可以自由发言,默认高画质优先,典型场景如互动课堂。
主要功能包括伴奏混音、基础美颜、屏幕共享、修改音视频原始数据和自定义视频源和渲染器等。
关键特性如下图所示:
视频通话支持 iOS、Android、Windows、macOS、Linux、Web、小程序,并支持平台间互通,具体的兼容性要求见下表。
详细的产品概述可以直接看声网开发者中心视频通话的产品概述部分:docs.agora.io/cn/Video/pr…
本文主要是介绍一下视频通话,视频直播小程序 SDK 初体验。
实现场景
结合微信小程序,能实现如下场景:
- 线上课堂:1 对 1 及 1 对多线上小班课,老师、学生实时互动
- 在线医疗:突破医疗资源的地域限制,实现多方视频会诊,降低诊断成本
- 高端客服:对高价值的 VIP 客户提供远程视频服务,1 对 1 实时交流
- 远程报警:一键报警,通过实时视频通信,为警方提供一手现场情况
- 银行开户:实时视频认证,清晰画质、超低延时、隐私保护,提升开户效率
技术方案
小程序连麦的声网实现架构图如下所示:
从上面这个小程序连麦实现架构图中我们可以看出:
- 在大网边缘节点部署协议转换服务对小程序端发出的 RTMP 流进行转换;
- 将转化后的 UDP 传输到 Agora SD-RTN 上;
- 通过 Agora SD-RTN 与 Agora 其他平台 SDK 实现音视频互通。
小程序 SDK 初体验
首先要准备好本地的开发环境:
- 确保本地已安装微信开发者工具
- 确保有一个支持 live-pusher 和 live-player 组件的微信公众平台账号。只有特定行业的认证企业账号才可使用这两个组件。详情请点击这里
- 确保在微信公众平台账号的开发设置中,给予以下域名请求权限:
- miniapp.agoraio.cn
- uni-webcollector.agora.io
- wss://miniapp.agoraio.cn
一开始我在做本地测试的时候没有认真看官方文档,没有为上述域名设置请求权限,调了好久。
运行 Demo 程序
-
在 Agora.io 注册账号,并创建自己的测试项目,获取 App ID。如需获取 Token 或 Channel Key,请启用 App Certificate
-
下载示例程序代码
-
打开 utils 文件夹,在 config.js 文件中填入获取到的 App ID:
const APPID = "";
if(APPID === ""){
wx.showToast({
title: `请在config.js中提供正确的appid`,
icon: 'none',
duration: 5000
});
}
module.exports = {
APPID: APPID
}
复制代码
-
下载 Agora Miniapp SDK,并将 SDK 重新命名为 “mini-app-sdk-production.js"
-
将更名后的 "mini-app-sdk-production.js" 文件保存在本示例程序的 lib 文件夹下
-
启动微信开发者工具并导入该示例程序
-
输入频道名,加入频道。邀请你的朋友加入同一个频道,就可以开始视频互通了。
注意
如果启用了 App Certificate,还需要在服务端生成 Token 或 Dynamic Key 用于鉴权。将生成的 Token 或 Dynamic Key 填入如下方法中:
//...
client.join(<your key/access token here>, channel, uid, () => {
//...
复制代码
在线体验
除了 SDK,声网也提供了在线体验小程序 Demo。
在 Android 或 iOS 上打开微信 App, 扫描识别下面的二维码,即可快速体验 Agora 小程序解决方案。
在小程序界面上输入你想要进入的房间名,点击 加入房间 即可进入小程序频道。
其他用户在自己的小程序上输入相同的房间名,点击 加入房间,即可进入相同的频道,实现通话。
你还可以点击屏幕上的按钮,依次体验 静音、切换摄像头、美颜 等功能。
前文也说过,视频通话支持 iOS、Android、Windows、macOS、Linux、Web、小程序,并支持平台间互通。可以说做得很完善了,用起来还是很方便的,给团队赞一个。