主程序與用戶界面 - 基于Android的VoIP系統設計
系統的主程序是一個標準的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 頁:基于Android的VoIP系統設計
- 第 2 頁:新建PJSIP類
- 第 3 頁:主程序與用戶界面
本文導航
非常好我支持^.^
(1) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 社區說|多才多藝: 探索 Android 應用更多可能 2023-10-24
- [電子說] 浩辰軟件正式登陸上交所科創板 2023-10-23
- [電子說] 鴻蒙原生應用,對開發者意味著什么? 2023-10-22
- [電子說] Android端自定義鈴聲 MobPush對安卓端自定義鈴聲的教程 2023-10-21
- [電子說] Android推送問題排查技巧 針對MobPush安卓端推送問題的解決辦法 2023-10-21
- [電子說] 如何使用Proxyman抓取Android的https請求? 2023-10-19
- [編程語言及工具] 基于OkHttp 3.10.0的源碼案例解析 2023-10-17
- [電子說] 基于MacroBenchmark的性能測試量化指標方案 2023-10-17
( 發表人:Spring )