视频通信APP的设计
1 功能选择界面
通过程序设计,首先构建用户功能选择界面,其中包括用户名和该用户的个人签名、个人头像,本处签名选用为个人网站,新的个人网站:https://www.codekp.cn/。向下依次是Home主界面,主要是APP的地图功能。第二项Gallery为第二个界面,为APP的蓝牙信道检测功能,第三项Slideshow为第三界面,为APP的视频通话功能。点击三个界面选项框可以跳转到自己的界面。
图1 APP功能选择界面图
2 定位界面
定位界面,主要由上方的底层用户数据显示界面,和下方的定位地图界面,地图界面采用浏览器形式,并对定位点用红色鲜明坐标在图中进行了标记。
首先,通过调用安卓底层接口,读取手机的经度、纬度等信息,然后设计了一个浏览器界面,由于时间关系没有调用高德地图的api,直接调用的web静态页面。通过修改URL的页面地址,即可获得如图所示的地图信息显示图。
图2 APP定位界面
其次,由于本文中获取的为GPS原始数据,采用的是国际坐标系(WGS84),而中国地图采用的为火星坐标系(GCJ02),其中进行了经纬度的转换,将原始数据转到精准的经纬度数据,并实现精确定位。
3 视频通话界面
视频通话界面,界面左侧为通话对方的实时视频图像,右方为己方的实时视频图像,下方为对方的端口号输入栏,右侧为设置,点击后会连接进对方的视频数据中。
首先,先编写程序,读取安卓手机的相机接口。其中的原理是,首先将调用安卓手机的相机功能,然后将拍摄到的视频保存在存储器中的某个地方,然后读取该位置的图片,在右侧视频端进行显示,调用相机接口如图3所示。
然后采用socket通信,其中有两种选择,TCP通信和UDP通信两种方式,其各自在自己的使用场景下有各自的优点,但是考虑到UDP不用握手可以完成双向传递,于是选择UDP,同时还可以提高通信速率。
图3 APP视频通话相机功能
获取到本地的图像数据后,对图像进行编码,通过UDP通讯协议进行传输,传输到本地IP:192.168.201.217,端口:8888上。然后在另对方手机中输入己方IP地址,点击START按钮即可开始视频通话,视频通话完成图像如下图所示。
图4 APP视频通话界面图