• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 基于Android的VoIP系統的設計與實現

    基于Android的VoIP系統的設計與實現

    作者: 時間:2011-04-21 來源:網絡 收藏

    主程序中的基本方式均按照上節中的過程,創建并初始化PJSUA;當call按鍵被觸發時發起會話,調用make-call()方法;當用戶接受通話時,點擊hang或cancel按鍵,觸發hang()或采用destry()方法等。
    用戶接口是通過 SDK來的,這部分幾乎全都是Java語言,由于UI不是本文的重點,因此只介紹一個簡單的界面,實際應用中用戶交互是非常重要的。為了所需的功能,至少需要一個文本框來提供SIP地址,以及兩個按鍵來控制會話發起和結束。另外,在呼叫與通話過程中,還需要一個頁面來顯示,這里可以通過對話框來顯示,最后的界面如圖2所示。

    本文引用地址:http://www.czjhyjcfj.com/article/156376.htm

    d.JPG



    3 封裝與調試
    為了能在平臺上方便地使用該,在了PJSIP協議棧、JNI接口以及UI之后,還需將上面所有的模塊進行封裝。 SDK提供了一些很有用的工具,如aapt等,由于本文重點不在AndriodSDK,所以可以采用集成開發工具(如集成在Eclipse中的ADT)來封裝。在工程libs(如果不存在則新建)目錄下新建一個名為armeabi的目錄,將上節生成的.so庫文件放到該目錄下。ADT在封裝資源時會自動將該庫文件封裝到apk文件中,apk是Android操作中應用程序的封裝形式,在所有android平臺中均能使用。
    封裝后安裝到Android手機、MID或虛擬機中,并發起會話。與開源SIP軟件Linphone通信的結果如圖2所示。

    4 結語
    通過測試表明,該能夠對發起并很好地控制SIP信令,該系統由于采用SIP協議,因此與所有采用這一協議的軟件均能通信,如Lin-phone,Kphone等,功能測試中表現良好,實現了的基本需求。同時如果要增加功能,可以在Java類中添加相應的方法并在應用層調用即可,具有一定的可擴展性。
    由于手機等手持設備在規格和配置上的差異,該系統在具體的設備上使用時,界面略有不同,但是同系統架構的手機使用時并不影響功能,在HTC Desire和MOTO Milestone上測試均能正常使用。但是,當移植到不同的架構時(即使同時ARM架構),仍需做一定的優化,一般采取主流平臺的多種版本方式來解決,這也是所有多廠商移動設備上一個無法避免的問題。


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 长汀县| 枞阳县| 大兴区| 高阳县| 工布江达县| 翼城县| 濮阳县| 平塘县| 永定县| 社会| 江孜县| 彰化县| 延庆县| 祁阳县| 连平县| 镇安县| 银川市| 新兴县| 肥城市| 郁南县| 万载县| 宁化县| 长白| 杂多县| 花垣县| 西青区| 礼泉县| 封丘县| 田东县| 哈尔滨市| 万源市| 宁远县| 怀安县| 阳西县| 铜川市| 满洲里市| 桦甸市| 吉安市| 德惠市| 皋兰县| 许昌市|