新聞中心

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

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

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

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

        本文引用地址:http://www.104case.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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 自贡市| 太仓市| 渭源县| 大足县| 永济市| 淮安市| 安徽省| 安吉县| 汕尾市| 雷波县| 荔波县| 南江县| 邵阳县| 屏南县| 布尔津县| 叶城县| 瑞安市| 唐海县| 诸暨市| 阿勒泰市| 大庆市| 云安县| 南木林县| 海宁市| 监利县| 三台县| 晋宁县| 正蓝旗| 大埔县| 治多县| 小金县| 安塞县| 永胜县| 丹巴县| 雷州市| 嵊州市| 精河县| 修水县| 酒泉市| 通山县| 金平|