【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

手把手教程:基于环信4小时开发一个视频会议APP【附源码】

放大字体  缩小字体 发布日期:2020-04-23 15:55:27    浏览次数:41
导读

  今年是不平凡的一年,因为疫情原因 ,大家只能呆着家里,作为一个开发者,严重影响了我正常的学习、生活和工作,在这种情况下,只能宅在家办公,这时候大家就会经常用到线上视频会议,目前很多互联网公司提供这种服务,比较出名的就比如:腾讯会议、钉钉、zoom等,用这些是很方便,但是如果能开发自己的视频会议APP,那

  今年是不平凡的一年,因为疫情原因 ,大家只能呆着家里,作为一个开发者,严重影响了我正常的学习、生活和工作,在这种情况下,只能宅在家办公,这时候大家就会经常用到线上视频会议,目前很多互联网公司提供这种服务,比较出名的就比如:腾讯会议、钉钉、zoom等,用这些是很方便,但是如果能开发自己的视频会议APP,那会不会更好或者更有成就感呢?下面就简单介绍我这个项目和大概的开发过程。

  上面这些功能在项目中都已经实现。还有水印 ,变声等高级功能在环信音视频SDK的接口内部都已经封装好,本项目没有实现 ,大家可以自行去实现。有关多人音视频功能更详细的介绍大家可以参考:这儿。多人音视频实现的实现主要有以下一些场景:社交交友,远程心理咨询、远程医疗、一对一在线教育、远程视频辅助等。咳咳 ,接下来就是纯干货了,给大家介绍我是如何一步步开发出一个完整的多人音视频app。

  首先给大家展示下项目运行的效果图,会议界面 主窗口是一个大的 RelativeLayout ,最下面的那一排排小窗口是的实现方法是HorizontalScrollView加上一个开源的组件oundlayout.RadioLayoutGroup 实现的,点击下面的小窗口后,可以 把小窗口的视频流显示在大屏上,具体是调用 updateRemoteSurfaceView(String streamId, EMCallSurfaceView remoteView)来更新SurfaceView,具体的细节大家可以看看代码里面的实现 最后会公布代码开源地址。

  大家得下载安装Android Studio,配置好Android 开发环境,怎么详细配置我就在这不再细说了 网上有很多的教程,大家自己可以找找看,然后大家可以看看环信多人音视频会议的主要功能和一些基本概念介绍。首先大家会想问怎么调用环信的SDK ,大家可以使用 远程依赖SDK包,建议大家用最新版本的远程依赖:com.hyphenate:hyphenate-sdk:3.6.6 ,依赖包可以放在 build.gradle里面的 dependencies 选项下面,如下图所示:

  2.其次怎么使用环信的appkey ,可以在环信 console 后台注册一个 账号申请appkey ,可以参考:这里 ,获取到 appkey 以后添加到AndroidManifest.xml中 ,如下图所示:

  3.经过以上两个重要的前期配置准备 ,接下来我们就可以开始进行代码开发了,首先我们先创建一个项目的DemoApplication类和 DemoHelper类,DemoApplication 类和DemoHelper类都是一个单例类 ,DemoApplication 主要功能就是进行DemoHelper 的初始化,而DemoHelper里面主要是主要有一些option 配置和EMClient 进行初始化,代码如下所示:

  DemoHelper还有一个重要的功能就是设置 EMConferenceListener 进行会议监听,有关 EMConferenceListener 的类的详细介绍 ,通过这个监听可以再加入会议的时候获取到已经在会议中的流和主播信息,分别是通过其中以下两个回调获取:

  4.DemoApplication类完成以后,接下来就是怎么去登陆 环信IM 账号和 创建加入会议房间了,首次安装的时候都没有账号,我们使用的办法是自动注册一个账号 在本地进行保存,然后进行登录 ,注册 登录详细接口请看 这儿, 注册 登录的调用大概如下所示:

  7.有关上麦 下麦 的逻辑处理,观众可以请求上麦成为主播,主播可以下麦成为观众,上麦 下麦 是利用 EMConferenceAttribute进行处理 ,EMConferenceAttribute 是一个事件广播,广播事件是一个key-value格式,key-value 可以由开发者进行自行定义,增添事件以后 ,服务器会把事件进行广播。会议中成员会收到 onAttributesUpdated回调。例如本项目中的会议上麦 下麦 代码如下所示:

  下麦也是和上麦一样是利用 EMConferenceAttribute进行处理。9.有关退出会议 销毁会议 普通主播 观众只能退出会议 ,主持人还可以 销毁会议 正在进行中的会议可以进行销毁,退出会议 销毁会议 具体代码如下:

  05尾语至此整个多人音视频会议APP开发的详细步骤已经完成 ,虽然比较麻烦 但是每个步骤都很清晰 ,有不太清楚的欢迎大家积极讨论, 附上本项目的github地址:点击跳转。 欢迎大家积极参与 ,谢谢支持。欢迎大家积极参与 ,谢谢支持。本人联系方式:(本文首发CSDN博客,已得到原作者“不回头的倔强”的授权)

 
关键词: html5项目源码
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-162297.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4