通信与网络中的基于通信与网络中的基于Android平台的可视对讲系统设计平台的可视对讲系统设计
Android是Google公司推出的基于Linux的开源手机操作系统,由于代码开源,受到很多手机厂家的青睐。可视
对讲系统在Android操作系统未出现之前,软件研发一般采用底层语言,容易出现功能单一、产品升级困难等情
况,要在对讲系统中开发出具有3D图形效果的界面更是难上加难。鉴于此,本文利用Android平台的可移植性、
代码开源等优势,结合JNI、NDK技术,提出了基于Android平台的可视对讲系统的设计方案并加以实现。
JNI[1](Java Native Interface)是Java本地调用接口,它使得运行于Android平台的Java程序可以使用C、
C++甚至汇编语言编写的动
Android是Google公司推出的基于Linux的开源手机操作系统,由于代码开源,受到很多手机厂家的青睐。可视对讲系统
在Android操作系统未出现之前,软件研发一般采用底层语言,容易出现功能单一、产品升级困难等情况,要在对讲系统中开
发出具有3D图形效果的界面更是难上加难。鉴于此,本文利用Android平台的可移植性、代码开源等优势,结合JNI、NDK技
术,提出了基于Android平台的可视对讲系统的设计方案并加以实现。
JNI[1](Java Native Interface)是Java本地调用接口,它使得运行于Android平台的Java程序可以使用C、C++甚至汇编
语言编写的动态链接库。在需要频繁访问内存或复杂计算的情况下,使用C动态链接库比在Android平台上使用Java语言实现
相同功能更具有效率[2].NDK[3](Native Development Kit)提供了一系列的工具,可以生成ARM二进制码的动态库,并且能
自动地将生成的动态库和Java应用程序一起打包成Android系统可以直接安装的apk安装包,即NDK可以将包含JNI接口函数的
C源程序文件编译生成动态库,供Android应用程序调用,提高了对现有代码的重用性,而加快了开发进度。
本文提出一种可视对讲系统设计方案,对讲双方为门口机和室内机,并将设计方案在i.MX51硬件平台进行实现。门口机
进行音视频的采集、编码、传输及音频解码、播放;室内机采用Android平台,但考虑用户室内信息的保密性,室内机没有视
频采集功能,室内机只进行音视频的解码、播放以及音频的采集、编码、传输。
1 可视对讲系统设计可视对讲系统设计
1.1 通信流程设计通信流程设计
数据包传输协议使用面向无连接、资源消耗小、处理速度快的UDP协议。寻址完成建立UDP直连后,门口机首先对视频
进行编码传输,直到被叫方按下接听键后,门口机才对音频数据进行传输。为了保证通话一直在线,室内机每隔一定的时间向
门口机发送通话在线询问,如果收到在线确认应答则保持通话状态,否则就结束通话。可视对讲系统通信流程如图1所示。