<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于局域網(wǎng)的視頻聊天系統(tǒng)--蛙酷

          基于局域網(wǎng)的視頻聊天系統(tǒng)--蛙酷

          作者:邱超 丁建輝 陽平 時間:2014-12-29 來源:電子產(chǎn)品世界 收藏
          編者按:  摘要:隨著無線網(wǎng)絡(luò)的發(fā)展,支持Wi-Fi的電子產(chǎn)品越來越多,與Wi-Fi綁定的應(yīng)用也層出不窮,但還沒有一款基于Wi-Fi的視頻聊天軟件能夠滿足人們的日常交互需求,因此我們開發(fā)出“蛙酷”,一款基于局域網(wǎng)的視頻聊天軟件,能夠在局域網(wǎng)覆蓋下實現(xiàn)隨時隨地視頻聊天和視頻會議,且無需耗費任何手機數(shù)據(jù)流量,真正給用戶帶來了隨聊隨見的交互體驗。   1 引言   目前,社會所流行的聊天軟件所專注的問題僅限于視頻效果和軟件盈利上,應(yīng)用目的趨于商業(yè)化,而沒有真正從用戶的角度出發(fā)去設(shè)計開發(fā)軟件,

            3.2.4 配置IP地址

          本文引用地址:http://www.ex-cimer.com/article/267433.htm

            當wpa_supplicant成功連接上AP之后,它向控制通道發(fā)送事件通知連接上AP了, wifi_wait_for_event函數(shù)接收到該事件, WifiMonitor中的MonitorThread被執(zhí)行來處理這個事件,WifiMonitor再調(diào)用WifiStateTracker的notifyStateChange,WifiStateTracker接著往自身發(fā)送EVENT_DHCP_START消息啟動DHCP去獲取IP地址,然后再廣播發(fā)送NETWORK_STATE_CHANGED_ACTION這個Intent。

            WifiLayer注冊了接收NETWORK_STATE_CHANGED_ACTION這個Intent,所以它的相關(guān)處理函數(shù)handleNetworkStateChanged會被調(diào)用,當 DHCP拿到IP地址之后,會再發(fā)送EVENT_DHCP_SUCCEEDED消息,WifiLayer處理EVENT_DHCP_SUCCEEDED消息, 會再次廣播發(fā)送NETWORK_STATE_CHANGED_ACTION這個Intent,這次帶上完整的IP地址信息。至此為止,整個連接過程完成。

            3.3 相機

            的Camera包含取景器(viewfinder)和拍攝照片的功能。目前發(fā)布版的Camera程序功能比較簡單,其程序的架構(gòu)分成客戶端(Client)和服務(wù)器(Server)兩個部分,它們建立在的進程間通訊Binder的結(jié)構(gòu)上。

            以開源的Android為例,Camera的代碼主要在以下的目錄中:

            Camera的JAVA程序的路徑:

            packages/apps/Camera/src/com/android/camera/

            其中Camera.java是主要實現(xiàn)的文件

            frameworks/base/core/java/android/hardware/Camera.java

            這個類是和中定義的類是一個,有些方法通過的方式調(diào)用本地代碼得到,有些方法自己實現(xiàn)。

            Camera的JAVA本地調(diào)用部分():

            frameworks/base/core/jni/android_hardware_Camera.cpp

            這部分內(nèi)容編譯成為目標是libandroid_runtime.so。

            主要的頭文件在以下的目錄中:

            frameworks/base/include/ui/

            Camera底層庫在以下的目錄中:

            frameworks/base/libs/ui/

            這部分的內(nèi)容被編譯成庫libui.so。

            Camera服務(wù)部分:

            frameworks/base/camera/libcameraservice/

            這部分內(nèi)容被編譯成庫libcameraservice.so。

            為了實現(xiàn)一個具體功能的Camera,在最底層還需要一個硬件相關(guān)的Camer庫(例如通過調(diào)用video for linux驅(qū)動程序和Jpeg編碼程序?qū)崿F(xiàn)),而這個庫最終將會被Camera的服務(wù)庫libcameraservice.so調(diào)用。

            4 實驗結(jié)果與比較

            這款軟件——“”能夠穩(wěn)定地完成各項功能,可以完美地實現(xiàn)和視頻會議等功能,經(jīng)過反復測試以及調(diào)試后,程序中的BUG也已基本得到有效解決。一開始在與其他平臺的對比測試中,我們發(fā)現(xiàn)“”視頻傳輸存在延遲,延遲時間大約為0.8至1.0秒,視頻畫面呈現(xiàn)出較多的噪點,在較差的網(wǎng)絡(luò)環(huán)境下也頻繁出現(xiàn)視頻畫面卡頓的現(xiàn)象。對于這一系列問題,在查閱相關(guān)資料后,我們發(fā)現(xiàn)主要問題在于我們沒有選擇最佳的視頻解碼,還有一個問題是我們沒有對網(wǎng)絡(luò)傳輸進行優(yōu)化。在進行了一系列優(yōu)化后,視頻效果已經(jīng)顯著改善,達到視頻聊天標準。

            參考文獻:
            [1] Android實時視頻采集——camera預覽采集[EB/OL].http://www.cnblogs.com/skyseraph/archive/2012/03/26/2418665.html
            [2] Android之SurfaceView實現(xiàn)視頻播放[EB/OL].http://www.cnblogs.com/devinzhang/archive/2012/02/03/2337576.html
            [3]秦延東.基于UDP的可靠性數(shù)據(jù)傳遞算法研究與實現(xiàn),信息科學與技術(shù)學院[EB/OL].http://www.doc88.com/p-6611634997913.html
            [4] Android開發(fā)之socket編程UDP和TCP通信實現(xiàn)[EB/OL].http://wenku.baidu.com/link?url=W5m0SW-NBCgNlgjfIR0Gorh-zv7qfqJ6WaaVEehMQJCqNSs6DX0VuYMOup9IPHo4O39sGBUwSoGQ11OOVng9uuu96-o_L2lUgSAY-IsLD3W
            [5] Android 獲取組播[EB/OL].http://www.apkbus.com/android-16351-1-1.html
            [6] IP組播技術(shù)及其應(yīng)用[EB/OL].http://wenku.baidu.com/link?url=Q4egZm_VLHn28au6JlEM6R-nki8AndPchGqKwGMRFsmfUT34E3bAtkzd_PQzo90otP3yh-5dfNMatoB_d8vnX-FVZUS7uESaIaEINr4nf9K
            [7] Android 工作原理[EB/OL].http://blog.csdn.net/sunxingzhesunjinbiao/article/details/22822083

          c++相關(guān)文章:c++教程



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();