您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>数据通信>

主程序与用户界面 - 基于Android的VoIP系统设计

2011年04月29日 11:39 现代电子技术 作者:贺丹丹,施 展 用户评论(0
2.2.4 主程序与用户界面

  系统的主程序是一个标准的Android应用程序,它使用Java语言开发,符合SDK规范。与一般的SDK程序不同的是,该类中必须使用Syst-em.loadLibrary加载PJSIP库文件。形式如下:

  System.loadLibrary(“pjsip-jni”);

  其中,pjsip-jni就是上节中PJSIP协议栈生成的库。

  主程序中的基本方式均按照上节中的过程,创建并初始化PJSUA;当call按键被触发时发起会话,调用make-call()方法;当用户接受通话时,点击hang或cancel按键,触发hang()或采用destry()方法等。

  用户接口是通过Android SDK来实现的,这部分几乎全都是Java语言,由于UI不是本文的重点,因此只介绍一个简单的界面,实际应用中用户交互是非常重要的。为了实现所需的功能,至少需要一个文本框来提供SIP地址,以及两个按键来控制会话发起和结束。另外,在呼叫与通话过程中,还需要一个页面来显示,这里可以通过对话框来显示,最后的界面如图2所示。

  

 

  3 封装与调试

  为了能在Android平台上方便地使用该系统,在实现了PJSIP协议栈、JNI接口以及UI之后,还需将上面所有的模块进行封装。Android SDK提供了一些很有用的工具,如aapt等,由于本文重点不在AndriodSDK,所以可以采用集成开发工具(如集成在Eclipse中的ADT)来封装。在工程libs(如果不存在则新建)目录下新建一个名为armeabi的目录,将上节生成的.so库文件放到该目录下。ADT在封装资源时会自动将该库文件封装到apk文件中,apk是Android操作系统中应用程序的封装形式,在所有android平台中均能使用。

  封装后安装到Android手机、MID或虚拟机中,并发起会话。与开源SIP软件Linphone通信的结果如图2所示。

  4 结语

  通过测试表明,该系统能够对发起并很好地控制SIP信令,该系统由于采用SIP协议,因此与所有采用这一协议的软件均能通信,如Lin-phone,Kphone等,功能测试中表现良好,实现了VoIP的基本需求。同时如果要增加功能,可以在Java类中添加相应的方法并在应用层调用即可,具有一定的可扩展性。

非常好我支持^.^

(1) 100%

不好我反对

(0) 0%

( 发表人:Spring )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!