主要功能
控制视频会议终端app,可以对视频会议终端进行管理、设置、呼叫、挂断、云台控制、以及发送双流、发送视频源拼接画面的拼接方法等。
数据流向图
在Android中开启一个服务,并在服务中开启了一个线程用于接收服务器发过来的数据(这里用了网络编程select模式,可以及时读取数据,不用等)
服务收到数据以后,调用Parser中的方法,解析数据(数据格式为XML).解析后数据返回到Service中。
sevice把数据存入Application中,并发广播通知UI界面数据到来,UI界面取Application中取数据。并更新UI界面。
用户在UI界面上操作,如果要获取数据或是命令服务端干一些工作,UI界面通过Biz层发送请求到服务器,服务端接受请求后,重复上面流程。Biz层中存在一个单线程池。用于复用发送客户端请求。
主要界面(部分)
登录界面
呼叫前界面(这里用了singleInstance模式满足业务需求如:此界面只能有一个实例)
这是呼叫中界面,下方可以显示并控制服务端的一些状态,如是否静音,是否在录制等等,同时也可以控制静音,录制、云台等。并用ViewPager加载了三个Fragment:
第一个用来显示一些统计信息如丢包、视频音频协议、是否加密、实时带宽等。
第二个Fragment控制当前视频源状态,自定义拼接屏幕方式发送给对方。
第三个Fragment用来设置本地显示,使用几分屏来显示。
这是设置界面,用来改变终端参数。
设置界面中的一个小分界面