《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的手機多媒體應用軟件的設計與實現
基于Android的手機多媒體應用軟件的設計與實現
2015年微型機與應用第10期
李婷婷,孟利民
(浙江工業大學 浙江省通信網技術應用研究重點實驗室,浙江 杭州 310023)
摘要: 為了實現基于Android手機平臺的音頻會話和圖像上傳,設計了一個基于Android手機的多媒體應用軟件。首先介紹了Android端的多媒體發展趨勢,然后介紹了如何設計并實現在手機端的VOIP以及利用FTP協議上傳圖像。測試結果表明,用戶可以通過軟件客戶端與PC客戶端進行音頻會話,并有良好的通話體驗,登錄FTP服務器可以查看到通過軟件上傳的圖像。
Abstract:
Key words :

  摘  要: 為了實現基于Android手機平臺的音頻會話和圖像上傳,設計了一個基于Android手機的多媒體應用軟件。首先介紹了Android端的多媒體發展趨勢,然后介紹了如何設計并實現在手機端的VOIP以及利用FTP協議上傳圖像。測試結果表明,用戶可以通過軟件客戶端與PC客戶端進行音頻會話,并有良好的通話體驗,登錄FTP服務器可以查看到通過軟件上傳的圖像。

  關鍵詞: Android;多媒體應用;VOIP;FTP

0 引言

  多媒體技術[1]是指包括對文字、圖像、聲音以及視頻等媒體數據進行處理分析、傳輸以及應用的技術。市場上出現的多種多媒體應用不僅可以幫助人們進行日常溝通,還有多種功能,包括了視頻監控、IP電話[2]以及即時消息等。Android[3]是一個開放自由的移動終端平臺,以其開源、免費等特點吸引了大量開發研究人員和廠商,并獲得了用戶的喜歡,是目前市場上主流的移動設備。隨著手機硬件性能的提高和移動數據網絡的發展,Android應用程序將擁有強大的多媒體數據處理能力,手機上的多媒體應用將會成為手機用戶的焦點,給人們帶來極大的便利性[4]。

1 多媒體系統框架設計

  多媒體交互系統主要包括Android手機客戶端、服務器端和PC平臺端。Android手機客戶端需要實現音頻的收發,發送端需要實現的功能包括音頻的采集、編碼壓縮、RTP打包封裝以及發送,而接收端需要實現接收RTP包并且通過解碼來播放音頻。手機客戶端還需要向服務器發送SIP消息來邀請音頻通話,并建立FTP連接來傳送圖片和錄像。FTP服務器主要負責管理圖片和錄像;SIP消息作為整個系統的控制信令,SIP服務器負責管理登錄以及轉發SIP消息;媒體轉發服務器負責轉發手機客戶端和PC平臺端發送的音頻數據。多媒體系統的框架如圖1所示。

001.jpg

2 客戶端軟件設計

  客戶端功能主要包括語音通話模塊、圖像和本地錄像上傳功能模塊。其中,語音通話模塊實現邀請并建立語音通話實現實時通話。圖像和本地錄像上傳功能模塊實現FTP連接并將圖像和本地錄像上傳到服務器上。

  2.1 語音通話模塊的設計

  主叫用戶需要進行語音聊天時,需要向SIP服務器發送INVITE的SIP消息,其中SIP消息的消息體為XML文本數據。XML消息體內容如下所示:

  <xml version="1.0"encoding="UTF-8"?>

  <speech>

  <audio>G.711</audio><!--音頻編解碼協議-->

  <kbps>8000</kbps><!--采樣率-->

  <self>192.168.1.112 UDP 5200</self>

  <!--地址與端口號-->

  <from_number>1000</from_number>

  <!--主叫號碼-->

  <to_number>1001</to_number><!--被叫號碼-->

  </speech>

  此消息體中包含了會話媒體格式、主叫用戶的號碼、被叫用戶的號碼等信息。SIP服務器接收到消息后,開始分配資源并且回復主叫用戶Tring消息。接著服務器將添加了分配好的資源消息的邀請消息轉發給被叫用戶。被叫用戶收到邀請消息后,如果同意進行語音通話,則回復200 OK給SIP服務器。最后主叫用戶接收到SIP服務器轉發的200 OK消息,此時雙方就可以進行音頻通話了。若此時Android手機客戶端是主叫用戶,則跳入主叫音頻會話界面;若為被叫用戶則跳轉到被叫音頻會話界面。當通話中的任意一方想要結束通話時,可以選擇掛斷,并向SIP服務器發送BYE SIP消息。SIP服務器收到掛斷消息后,轉發給另一方后開始釋放資源。被掛斷用戶收到掛斷消息后回復200 OK給服務器,由服務器轉發此消息給主掛斷用戶。語音通話建立和結束的過程如圖2所示。

002.jpg

  在Android手機端上實現與平臺語音通話,不僅包括發送端部分也包括接收端部分。發送端需要實現原始PCM音頻數據采集、音頻數據編碼和打包發送。接收端需要實現音頻數據包的接收以及解碼和PCM音頻數據的播放。音頻會話框架圖如圖3所示。

003.jpg

  從Android手機硬件麥克風獲取原始的PCM音頻數據,通過對其進行G711壓縮編碼,使得減少發送到網絡上的碼率,調用jlibrtp庫用RTP格式數據包將壓縮后的G711數據打包發送到網絡上。RTP數據包的接收是通過新建一個RTPRecieve類實現jlibrtp中的RTPAppIntf回調接口實現的。接收的RTP數據包通過G711解碼還原成原始PCM數據流,此時經過解碼得到的PCM數據流并不直接拿去播放,而是先放在緩存中,再由播放線程來播放,數據接收解碼和數據播放置于兩個不同的線程中,不僅可以提高網絡的容錯能力,還可以增強系統的健壯性。音頻會話流程圖如圖4所示。

005.jpg

  軟件中的音頻采集和播放分別是根據Android平臺下的AudioRecorder和AudioTrack集合框架類實現的。經過流程圖步驟,基于Android的音頻通話的實現基本完成。

  2.2  圖像和本地錄像上傳模塊的設計

  此模塊的主要功能是將Android手機拍照下來的圖像和錄像使用FTP協議上傳到服務器上。FTP會話主要包括獲取配置信息、請求連接服務器、登錄、數據上傳以及斷開連接釋放資源,具體流程圖如圖5所示。

005.jpg

  在上傳文件之前,軟件客戶端需要向SIP服務器發送NOTIFY消息來獲取FTP信息。NOTIFY消息的消息體內容如下。

  <?xml version="1.0"encoding="UTF-8"?>

  <ftpinfo_query>

  <!--此節點標識ftp信息獲取查詢-->

  </ftpinfo_query>

  SIP服務器接收到此NOTIFY消息后開始解析xml消息,當解析出ftpinfo_query節點后,回復200OK和FTP連接信息。200 OK的SIP消息體的內容如下。

  <?xml version="1.0"encoding="UTF-8"?>

  <ftpinfo_query_response>

  <!--此節點標識ftp信息回應-->

  <result>0 or 1</result>

  <server_ip>ftp服務器ip</server_ip>

  <!--FTP服務器的ip地址-->

  <username>用戶名</username>

  <pwd>密碼</pwd>

  </ftpinfo_query_response>

  當Android軟件客戶端接收到此SIP消息,并解析出ftpinfo_query_response節點時,將result值、server_ip、用戶名以及密碼解析出來并存到自定義的FtpInfo中。然后初始化FTP,并通過openConnect()函數來打開FTP服務。在openConnect()函數中,FTPClient為FTP連接,通過構造函數傳進來的參數建立,首先通過ftpClient.connect()來連接服務器,再通過ftpClient.login()登錄到服務器。FTP服務打開之后,就可以對圖像文件或者錄像文件進行上傳操作。首先生成需要上傳的文件:File file=new File(localpath),參數localpath為本地文件的名稱,通過CreatFtpPath()函數生成遠程FTP服務器的對應路徑名稱,最后通過ftp.uploading()函數上傳文件,可通過返回值result來判斷上傳是否成功。在uploading()函數中,首先如果遠程的服務器沒有上傳的目錄則需創建,則需對當前FTP目錄初始化,并設置二進制文件上傳和設置流傳輸模式,在改變FTP目錄后,需要判斷本地文件為多個還是單個,如果是多個則調用上傳函數uploadingMany()來實現上傳,若是單個則調用uploadingSingle()來實現上傳。在uploadingMany()中反復調用uploadingSingle()來實現多個文件的上傳。在上傳函數中,首先需要創建輸入流inputStream,文件上傳完畢后關閉文件流。上傳結束后需要結束FTP服務來釋放對應的資源。

3 效果演示

006.jpg

  在實驗室WIFI條件下,軟件客戶端在摩托羅拉XT910(Android 4.1.2)和HTC One V(Android 4.0.3)設備上測試通過,成功實現了音頻通話以及圖像的上傳。如圖6所示,其中圖6(a)為手機客戶端音頻被呼叫界面,圖6(b)為Android手機端語音通話界面,圖6(c)為PC端音頻會話界面,語音會話過程中通話流暢,延時較小。圖6(d)為手機軟件端圖像上傳界面,上傳成功后可以登錄FTP服務器看到上傳的圖像,如圖6(e)所示。

4 結論

  隨著Android智能手機的普遍使用和移動互聯網技術的迅速發展,在Android手機上開發越來越廣泛。在Android手機上開發音頻通話,不僅有較好的通話體驗,并且不會產生通信費用,只是消耗一定的流量。通過Android手機拍照和錄像的便利性,能夠存儲于手機中并且根據需求實現上傳圖像和錄像。軟件客戶端能夠滿足人們對多媒體應用軟件的需求。

參考文獻

  [1] 史元春,徐光祐,高原.中國多媒體技術研究:2011[J].中國圖象圖形學報,2012,17(7):741-747.

  [2] 賀丹丹,施展.基于Android的VoIP系統的設計與實現[J].現代電子技術,2011,34(6):28-31.

  [3] BURNETTE E. Hello, Android: introducing Google′s mobile development platform[M]. Pragmatic Bookshelf, 2009.

  [4] 朱雷堅.基于Android的實時語音通信系統的設計與實現[D].杭州:浙江工業大學,2013.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品女人| 欧美日韩视频一区二区| av成人动漫| 最新日韩精品| 亚洲电影第三页| 性做久久久久久久免费看| 亚洲少妇最新在线视频| 亚洲看片一区| 亚洲精品乱码久久久久久黑人 | 欧美日韩在线高清| 欧美电影免费观看高清| 女人香蕉久久**毛片精品| 两个人的视频www国产精品| 久久亚洲春色中文字幕| 久久香蕉国产线看观看网| 久久永久免费| 蜜臀91精品一区二区三区| 久久性天堂网| 欧美 日韩 国产在线| 欧美69视频| 欧美连裤袜在线视频| 免费一级欧美片在线观看| 免费国产一区二区| 欧美黄色一区| 欧美日韩中文字幕精品| 国产精品a久久久久久| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久久久app| 国产精品亚洲аv天堂网| 国产日韩欧美一区二区| 国产一区二区三区精品欧美日韩一区二区三区| 国产欧美精品va在线观看| 国产手机视频一区二区| 国产一区二区中文字幕免费看| 激情欧美一区二区三区| 在线日韩电影| 亚洲最新合集| 亚洲小视频在线观看| 亚洲欧美国内爽妇网| 欧美一级播放| 亚洲精品视频免费在线观看| 亚洲图片欧洲图片av| 午夜精品短视频| 久久人人爽爽爽人久久久| 欧美成人有码| 国产精品v欧美精品v日韩 | 香港久久久电影| 久久久久久久一区二区三区| 欧美成人久久| 国产精品久久久久久久7电影| 国产日本欧美视频| 在线观看亚洲精品| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美日韩 国产精品| 国产精品国产三级国产aⅴ浪潮| 国产午夜精品一区理论片飘花| 亚洲国产成人av| 亚洲一区二区三| 亚洲国产三级网| 亚洲欧美国产三级| 免费不卡在线视频| 国产精品萝li| 亚洲福利视频专区| 午夜激情综合网| 亚洲美女av在线播放| 亚洲男同1069视频| 欧美a级大片| 国产乱人伦精品一区二区| 亚洲福利视频网站| 亚洲欧美日韩国产中文| 亚洲美女视频| 久久人人97超碰精品888| 国产精品成人在线| 尤物在线观看一区| 亚洲欧美精品一区| 99精品国产在热久久下载| 久久成人久久爱| 欧美日韩大片一区二区三区| 国内精品久久久| 亚洲午夜精品网| 亚洲精品中文字幕在线观看| 久久精品盗摄| 国产精品福利网| 最新高清无码专区| 欧美伊人久久| 亚洲尤物在线视频观看| 欧美高潮视频| 国内精品一区二区| 一本到高清视频免费精品| 亚洲韩国精品一区| 欧美在线综合视频| 欧美日韩视频在线一区二区观看视频 | 欧美一区二区三区视频免费播放| 这里只有视频精品| 欧美成人免费在线观看| 国产一区视频网站| 亚洲专区免费| 亚洲视频一区在线| 欧美黄免费看| 亚洲国产精品成人| 久久精品夜色噜噜亚洲aⅴ| 欧美在线日韩在线| 国产精品伦子伦免费视频| 亚洲美女av在线播放| 亚洲精品黄网在线观看| 老牛影视一区二区三区| 国产一区深夜福利| 午夜精品久久久久久久久| 亚洲欧美日韩国产综合精品二区| 欧美日本亚洲| 亚洲三级影片| 99精品国产一区二区青青牛奶| 欧美成人午夜激情视频| 激情婷婷欧美| 亚洲第一区在线| 久久亚洲春色中文字幕| 狠狠色狠狠色综合日日五| 午夜精品在线| 久久精品理论片| 国产专区一区| 久久成人免费电影| 久久久久久久欧美精品| 国产视频久久久久久久| 欧美影院一区| 久久亚洲不卡| 在线观看三级视频欧美| 亚洲三级电影全部在线观看高清| 裸体女人亚洲精品一区| 亚洲第一福利视频| 亚洲免费精彩视频| 欧美日韩一区二区三区四区在线观看 | 欧美日韩精品高清| 一区二区高清视频| 亚洲国产精品成人va在线观看| 久久亚洲综合色| 亚洲成人在线免费| 99精品欧美一区| 欧美亚日韩国产aⅴ精品中极品| 在线亚洲成人| 欧美在线观看视频一区二区| 国产一区二区成人| 亚洲国产美女久久久久| 欧美黄免费看| 一区二区三区四区五区在线 | 欧美日韩在线观看一区二区三区| 一本一道久久综合狠狠老精东影业 | 欧美日韩国产成人在线91| 99re8这里有精品热视频免费| 亚洲免费小视频| 国产亚洲精品久久久久动| 亚洲第一精品电影| 欧美激情一区二区三区成人| 一本色道久久综合亚洲精品高清| 欧美一区二区视频97| 一区二区三区亚洲| 妖精成人www高清在线观看| 国产精品久久看| 久久国产一二区| 欧美日韩国产成人在线免费| 亚洲一区二区av电影| 久久久伊人欧美| 日韩视频免费| 久久精品亚洲精品国产欧美kt∨| 亚洲国产日韩欧美在线动漫| 亚洲制服丝袜在线| 狠狠色狠狠色综合日日五| 夜夜爽夜夜爽精品视频| 国产日韩欧美三级| 亚洲精品在线免费| 国产欧美精品在线播放| 亚洲精品国产精品久久清纯直播 | 欧美人与禽性xxxxx杂性| 亚洲欧美在线网| 欧美激情精品久久久久久黑人 | 亚洲日本成人女熟在线观看| 国产精品区一区| 亚洲日本电影在线| 国产精品色午夜在线观看| 亚洲高清av| 国产精品毛片在线看| 亚洲精品黄色| 国产日韩欧美视频| 中文亚洲视频在线| 精品动漫3d一区二区三区免费版| 亚洲综合成人婷婷小说| 亚洲国产精品综合| 久久www免费人成看片高清| 99精品视频免费在线观看| 久久人人爽人人爽爽久久| 亚洲一区二区黄| 欧美人成在线| 亚洲国产精品久久久| 国产精品专区h在线观看| 夜夜嗨av一区二区三区网页| 国产一区二区精品| 亚洲欧美韩国| 亚洲国产欧美在线| 久久久久青草大香线综合精品| 这里只有精品视频在线| 欧美成人午夜免费视在线看片|