AgoraRTC实时音视频扩展

本扩展基于AgoraRTC(实时音视频)技术开发。提供在同一频道内的多人语音和/或视频通讯功能。若想实现两个人的私聊,请自行在应用层控制进入频道的权限。

AgoraRTC提供每个账号每月10000分钟的免费额度,具体怎么计算时间,请参照这里

支持作者

开发不易,若你觉得本扩展对你有一点点的帮助,请扫码支持我,谢谢

alipay

wechatpay

示例截图

Screenshot_20200611_152223

准备工作:

  1. 注册agora账号,网址:https://www.agora.io/cn/
  2. 进入控制面板
  3. 创建新项目,建议鉴权机制选择AppId(开发更简单,但安全性稍弱)
  4. 记下appId (这个很重要,注意保密)

代码块介绍

组件初始化

初始化之前需要设置appId。(如果准备工作中选择了鉴权方式为appId, 这里就不用设置token)

Snipaste_2020-06-16_12-07-34

Snipaste_2020-06-16_12-12-22

Snipaste_2020-06-16_12-12-31

加入频道

所有音视频通讯都在频道内进行。只有相同的appId和相同的频道名channel,才能互相通讯。

本扩展默认只开启语音通讯。

若需要开启视频,需要在加入频道前设置enableVideo(开启视频)为逻辑真,并且设置localLayout(本地视频显示布局)为某个垂直布局(或水平布局)。加入频道成功后,该布局原来内容会被清空,仅只能显示本次视频。

Snipaste_2020-06-24_09-43-54

加入频道是个异步操作,加入成功后在本地会收到OnJoinChannel事件。并返回一个uid(系统分配的用户编号)。

因为默认开启音频,收到本事件,表明你就可以开始音频通讯了。

Snipaste_2020-06-16_12-20-45

每次有其他用户加入频道,本地会收到OnRemoteUserJoin事件,并返回一个用户uid和userName(用户名)

Snipaste_2020-06-16_12-23-04

如果其他用户开启了视频,本地还会收到OnGetRemoteVideo事件,并返回一个用户uid

Snipaste_2020-06-16_12-25-01

在OnGetRemoteVideo事件中,使用setupRemoteVideo方法设置远程用户的视频显示在哪个布局里面。注意:一个布局只能显示一个用户的视频,多个用户需要设置多个布局。

Snipaste_2020-06-16_12-27-43

离开频道

离开频道,就会结束实时通讯,关闭所有视频。

Snipaste_2020-06-16_12-30-03

离开频道是个异步操作,成功后本地会收到OnLeaveChannel事件。

Snipaste_2020-06-16_12-32-01

频道内其他用户会收到OnRemoteUserLeave事件,并关闭相关的视频。

Snipaste_2020-06-16_12-35-05

发生错误

如发生错误,会返回一个错误代码,具体错误原因,可以在这里查找

Snipaste_2020-06-16_12-37-06

切换摄像头

切换本地视频前后摄像头

Snipaste_2020-06-16_12-39-39

开启关闭扬声器

开启或关闭扬声器

Snipaste_2020-06-16_12-39-46

其他

若想赞助其他功能,请直接联系我。

Copyright © kevinkun.cn all right reserved,powered by Gitbookmodified: 2020-06-29

results matching ""

    No results matching ""