document.write('
')
笨笨Q软件应用下载__笨笨Q软件资讯网

笨笨Q软件应用下载__笨笨Q软件资讯网

笨笨Q软件资讯网专注报道软件和互联网事件,重点关注传统软件、互联网软件、通信软件、移动互联网、3G应用等软件、5G相关资讯、区块链相关领域、网站拥有丰富详尽的数据库资源,全方位的软件导购资讯 权威的渠道报道!

菜单导航
笨笨Q软件资讯 > 软件教程 > 正文

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

作者: 笨笨Q 更新时间: 2021年09月11日 19:29:28 游览量: 145

简述:

今年是不平凡的一年,因为疫情原因 ,大家只能呆着家里,作为一个开发者,严重影响了我正常的学习、生活和工作

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

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

  01主要功能

  本项目基于环信音视频云来完成,实现的主要功能有:

创建会议、删除会议、获取指定会议室详情、加入会议室、退出会议室等关于会议的管理 ;

获取会议室参会人名列表、踢人,设置观众为主播,设置主播为观众等关于会议室的人员管理;

共享桌面(web端);

三个端的实现:Android,iOS,

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

  02项目截图

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

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

  03准备工作

  大家得下载安装Android Studio,配置好Android 开发环境,怎么详细配置我就在这不再细说了 网上有很多的教程,大家自己可以找找看,然后大家可以看看环信多人音视频会议的主要功能和一些基本概念介绍。

  04集成工作

  首先大家会想问怎么调用环信的SDK ,大家可以使用 远程依赖SDK包,建议大家用最新版本的远程依赖:

  com.hyphenate:hyphenate-sdk:3.6.6 ,依赖包可以放在 build.gradle里面的 dependencies 选项下面,如下图所示: 

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

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

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

  3.经过以上两个重要的前期配置准备 ,接下来我们就可以开始进行代码开发了,首先我们先创建一个项目的DemoApplication类和      DemoHelper类,DemoApplication 类和DemoHelper类都是一个单例类 ,DemoApplication 主要功能就是进行DemoHelper      的初始化,而DemoHelper里面主要是主要有一些option 配置和EMClient 进行初始化,代码如下所示:
  DemoHelper还有一个重要的功能就是设置  EMConferenceListener 进行会议监听,有关 EMConferenceListener 的类的详细介绍 ,通过这个监听可以再加入会议的时候获取到已经在会议中的流和主播信息,分别是通过其中以下两个回调获取:

  @Overridepublic void onMemberJoined(EMConferenceMember member){}

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

  try {//注册一个环信IDEMClient.getInstance()。createAccount(username, password);//注册成功进行登录PreferenceManager.getInstance()。setCurrentUserName(username);PreferenceManager.getInstance()。setCurrentuserPassword(password);login();} catch (final HyphenateException e) {runOnUiThread(new Runnable() {public void run() {int errorCode=e.getErrorCode();if(errorCode==EMError.NETWORK_ERROR){Toast.makeText(getApplicationContext(), getResources()。getString(R.string.network_anomalies), Toast.LENGTH_SHORT)。show();}

  }

  }

文章链接:http://www.benbenq.com/rjjc/41415.html

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