<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>linux平臺視頻聊天軟件的快速開發(fā) 查詢:
               
          linux平臺視頻聊天軟件的快速開發(fā)

                      為了在linux平臺下快速開發(fā)一款視頻聊天軟件,本文選取了anyChat SDK作為核心開發(fā),開發(fā)環(huán)境使用QT5.3,下面將講解我的開發(fā)過程。

                      一、 開發(fā)環(huán)境的搭建

                      1. 首先,虛擬機(jī)安裝linux系統(tǒng),我選取的是最新的Ubuntu14.04-32bit ;

                      2. 然后,到QT官網(wǎng),下載最新的linux版本QT5.3.2, 

                      3. 最后,到AnyChat官網(wǎng),下載最新的linux版本的SDK,這里我們選取32bit 

                      二、 軟件功能

                      在這里,我只需要如下幾個(gè)功能即可:

                      1. 能夠打開本地音視頻;

                      2. 能夠獲取在線用戶列表;

                      3. 能夠請求在線用戶音視頻,實(shí)現(xiàn)視頻聊天;

                      4. 能夠發(fā)送文字聊天。

                      三、 真正的開始

                      需求確定之后,我們就開始創(chuàng)建我們的工程啦!

                      1. 現(xiàn)在我們打開QT5軟件,創(chuàng)建一個(gè)新工程,首先就是布局我們的UI,然后我們給我們的UI寫上對象名字 

                      2. 添加工程依賴性(包括anychat sdk依賴文件的添加)

                      QT軟件配置頭文件和庫文件有兩種方法:

                      2.1 可以手動在.pro為后綴的文件里面進(jìn)行添加;

                      2.2 可以右鍵工程項(xiàng)目,然后添加相應(yīng)的文件和庫,此方法會自動修改.pro文件,如下左右兩圖所示(左圖為手動添加,右圖為添加后的pro文件,也可以按右圖修改pro文件):

                      其中INCLUDEPATH為頭文件包含路徑,這里添加anychat sdk目錄;LIBS為依賴庫文件,這里添加anychatcore動態(tài)庫;$$PWD表示pro文件當(dāng)前目錄;當(dāng)然也可以使用絕對路徑,直接填寫路徑和文件名即可,按左圖方法添加絕對正確。我的anychat sdk文件

                      3. 接下來我們需要編寫具體功能的實(shí)現(xiàn);

                      3.1 初始化

                      因?yàn)槲覀円褂胊nychat sdk,因此我們在程序初始化的時(shí)候?qū)dk初始化;SDK初始化參數(shù)設(shè)置,其中,對于視頻,我們設(shè)置為BRAC_FUNC_VIDEO_CBDATA,為視頻數(shù)據(jù)回調(diào)方式,后續(xù)需要我們實(shí)現(xiàn)視頻數(shù)據(jù)的處理,這里主要是渲染顯示;對于音頻,我們設(shè)置為BRAC_FUNC_AUDIO_AUTOPLAY,使用SDK自動播放模式,我們不用做任何處理。

                      設(shè)置SDK核心組件所在目錄(注:demo程序只是設(shè)置為當(dāng)前目錄,項(xiàng)目中需要設(shè)置為實(shí)際路徑)

                      根據(jù)BRAC_InitSDK的第二個(gè)參數(shù):dwFuncMode,來告訴SDK該如何處理相關(guān)的任務(wù)  

                      在BRAC_InitSDK函數(shù)之后我們又調(diào)用了四個(gè)API接口,分別設(shè)置視頻回調(diào)、聲音回調(diào)(這里實(shí)際不用設(shè)置,我們采用自動播放模式)、系統(tǒng)消息回調(diào)、文字信息回調(diào)(文字聊天); 

                      3.2 編寫登錄服務(wù)器接口 

                      這里為了方便,服務(wù)器地址、端口號、用戶名、密碼都寫進(jìn)來了;當(dāng)我們登錄成功之后,就可以繼續(xù)往下啦。 

                      3.3 進(jìn)入相應(yīng)的房間 

                      RoomId_lineEdit就是我們的ui控件,我們在編輯控件填寫相應(yīng)的房號即可;

                      3.4 刷新在線用戶列表 

                      我單獨(dú)寫了一個(gè)接口,實(shí)現(xiàn)由用戶進(jìn)入房間和離開房間時(shí)會刷新列表;

                      3.5 打開本地音視頻

                       收到消息:客戶端進(jìn)入房間 wParam (INT)表示所進(jìn)入房間的ID號,Param (INT)表示是否進(jìn)入房間:0成功進(jìn)入,否則 

                      當(dāng)我們成功進(jìn)入房間時(shí),我們首先打開自己的音視頻,這里用到了兩個(gè)API,BRAC_UserCameraControl()和BRAC_UserSpeakControl(),分別打開音視頻;

                      這個(gè)函數(shù)有系統(tǒng)消息回調(diào)函數(shù)來調(diào)用,而系統(tǒng)消息回調(diào)函數(shù)我們在初始化的時(shí)候已經(jīng)設(shè)置了異步消息通知回調(diào)函數(shù)定義 

                      


          HR人力資源管理系統(tǒng)解決方案HR三大支柱模型介紹
          IT項(xiàng)目管理中的風(fēng)險(xiǎn)控制IT項(xiàng)目管理作業(yè)
          Java EE軟件開發(fā)平臺HMS酒店客房管理系統(tǒng)設(shè)計(jì)
          java快速開發(fā)平臺j-hiJAVA企業(yè)項(xiàng)目管理
          JEECG快速開發(fā)平臺介紹J-HI Java快速開發(fā)平臺
          KTV系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)KTV點(diǎn)歌系統(tǒng)設(shè)計(jì)
          KTV點(diǎn)歌系統(tǒng)設(shè)計(jì)報(bào)告KTV行業(yè)小程序開發(fā)解決方案
          KTV后臺管理軟件介紹KTV調(diào)音的基本入門知識
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 黄色口逼视频网站 | 澳门三级少妇三级66 | AV国产在线观看 | 人人操美女| 99色综合 | 慢点操啊啊啊麻豆太深了 | 息子无码一区二区三区免费 | 色婷婷色综合 | 亚洲高清无码在线观看视频 | 91成人影库一级A片 |