您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

主程序與用戶界面 - 基于Android的VoIP系統(tǒng)設(shè)計

2011年04月29日 11:39 現(xiàn)代電子技術(shù) 作者:賀丹丹,施 展 用戶評論(0
關(guān)鍵字:Android(124886)VoIP(41185)
2.2.4 主程序與用戶界面

  系統(tǒng)的主程序是一個標(biāo)準(zhǔn)的Android應(yīng)用程序,它使用Java語言開發(fā),符合SDK規(guī)范。與一般的SDK程序不同的是,該類中必須使用Syst-em.loadLibrary加載PJSIP庫文件。形式如下:

  System.loadLibrary(“pjsip-jni”);

  其中,pjsip-jni就是上節(jié)中PJSIP協(xié)議棧生成的庫。

  主程序中的基本方式均按照上節(jié)中的過程,創(chuàng)建并初始化PJSUA;當(dāng)call按鍵被觸發(fā)時發(fā)起會話,調(diào)用make-call()方法;當(dāng)用戶接受通話時,點擊hang或cancel按鍵,觸發(fā)hang()或采用destry()方法等。

  用戶接口是通過Android SDK來實現(xiàn)的,這部分幾乎全都是Java語言,由于UI不是本文的重點,因此只介紹一個簡單的界面,實際應(yīng)用中用戶交互是非常重要的。為了實現(xiàn)所需的功能,至少需要一個文本框來提供SIP地址,以及兩個按鍵來控制會話發(fā)起和結(jié)束。另外,在呼叫與通話過程中,還需要一個頁面來顯示,這里可以通過對話框來顯示,最后的界面如圖2所示。

  

?

  3 封裝與調(diào)試

  為了能在Android平臺上方便地使用該系統(tǒng),在實現(xiàn)了PJSIP協(xié)議棧、JNI接口以及UI之后,還需將上面所有的模塊進行封裝。Android SDK提供了一些很有用的工具,如aapt等,由于本文重點不在AndriodSDK,所以可以采用集成開發(fā)工具(如集成在Eclipse中的ADT)來封裝。在工程libs(如果不存在則新建)目錄下新建一個名為armeabi的目錄,將上節(jié)生成的.so庫文件放到該目錄下。ADT在封裝資源時會自動將該庫文件封裝到apk文件中,apk是Android操作系統(tǒng)中應(yīng)用程序的封裝形式,在所有android平臺中均能使用。

  封裝后安裝到Android手機、MID或虛擬機中,并發(fā)起會話。與開源SIP軟件Linphone通信的結(jié)果如圖2所示。

  4 結(jié)語

  通過測試表明,該系統(tǒng)能夠?qū)Πl(fā)起并很好地控制SIP信令,該系統(tǒng)由于采用SIP協(xié)議,因此與所有采用這一協(xié)議的軟件均能通信,如Lin-phone,Kphone等,功能測試中表現(xiàn)良好,實現(xiàn)了VoIP的基本需求。同時如果要增加功能,可以在Java類中添加相應(yīng)的方法并在應(yīng)用層調(diào)用即可,具有一定的可擴展性。

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發(fā)表人:Spring )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?