freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

即時(shí)消息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)語音通訊模塊的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文(參考版)

2025-06-21 14:04本頁面
  

【正文】 其類圖見圖 49:根據(jù)以上分析可以得到對象模型為圖 414:圖 51:登錄界面 The login interface第五章 語音通訊系統(tǒng)的實(shí)現(xiàn) 構(gòu)建語音通訊系。這個類主要會利用 ,其中主要的工作有:打開回放設(shè)備,并得到其句柄, 為回放設(shè)備準(zhǔn)備一個波形緩沖區(qū)(內(nèi)存塊), 向指定的波形輸出設(shè)備發(fā)送一個數(shù)據(jù)塊(此音頻數(shù)據(jù)已經(jīng)在 AVChannel中接收), 停止放音, 關(guān)閉回放設(shè)備。另一個是 WAVEFORMATEX,這個結(jié)構(gòu)體主要是指明波形的格式,包括采樣頻率,采樣位數(shù)等一系列重要的參數(shù)。其類圖見圖 410:Struct類:這個類主要是指明整個系統(tǒng)中所共用的一系列結(jié)構(gòu)體。其類圖見圖 48: G729類:此類在音頻回放模塊里主要是完成音頻數(shù)據(jù)的解壓功能。其類圖見圖 47: AVChannel類:此類主要用于完成一系列準(zhǔn)備工作。在 IniChanel()中,首先建立一個AVChannel類的一個對象,此對象用于完成 Socket的建立以及接收來自遠(yuǎn)程主機(jī)發(fā)送來的音頻數(shù)據(jù)進(jìn)行回放,并進(jìn)行一些委托的初始設(shè)置。其流程圖見圖 46,此模塊功能主要由以下類進(jìn)行完成:AV類:此類是此系統(tǒng)面向?qū)ο笾R體現(xiàn)之所在,它把所有與語音通訊相關(guān)的東西都進(jìn)行了封裝,只提供了一個接口給用戶進(jìn)行調(diào)用即可實(shí)現(xiàn)語音通訊,體現(xiàn)了面向?qū)ο缶幊痰乃枷?,對用戶來說簡單,對系統(tǒng)來說也比較安全(避免用戶直接操作其中的數(shù)據(jù))。這個模塊主要就是完成接收從遠(yuǎn)程主機(jī)發(fā)送來的數(shù)據(jù)并進(jìn)行回放。其類圖見圖 411:AVException類:主要是對上面一系列工作中所出現(xiàn)的異常進(jìn)行簡單的處理。這個類主要會利用 ,其中主要的工作有:打開一個波形輸入設(shè)備,為波形輸入設(shè)備準(zhǔn)備一個輸入緩沖區(qū),向波形輸入設(shè)備添加一個輸入緩沖區(qū),啟動在指定的波形輸入設(shè)備的輸入并開始錄音, 清除緩存,關(guān)閉設(shè)備并停止錄音。另一個是 WAVEFORMATEX,這個結(jié)構(gòu)體主要是指明波形的格式,包括采樣頻率,采樣位數(shù)等一系列重要的參數(shù)。其類圖見圖 410: Struct類:這個類主要是指明整個系統(tǒng)中所共用的一系列結(jié)構(gòu)體。由于通過采樣得到的語音數(shù)據(jù)量比較大,所以必須經(jīng)過壓縮傳送才能減少網(wǎng)絡(luò)負(fù)擔(dān)。首先建立 Socket對象并綁定(使用 UDP協(xié)議建立),初始化音頻編碼器和音頻解碼器,然后將 WaveIn類捕獲到的音頻數(shù)據(jù)經(jīng)過壓縮后通過 Socket的 BeginSendTo()方法發(fā)送給特定的遠(yuǎn)程主機(jī)。在 IniAudio()方法中,首先會確定此次采樣波形的格式(即設(shè)置WAVEFORMATEX結(jié)構(gòu)體的一系列參數(shù)),然后根據(jù)此波形格式建立一個建立一個音頻捕獲類(WaveIN)的對象,并調(diào)用其 Start()方法讓此對象開始捕獲音頻。這個類在用戶調(diào)用其構(gòu)造函數(shù)創(chuàng)建其一個對象后,主要提供了兩個接口給用戶,即 IniChanel()和 IniAudio()。其主要步驟有:確定音頻格式,建立音頻捕獲對象,打開錄音設(shè)備,為設(shè)備分配足夠的內(nèi)存做緩沖區(qū),將緩沖區(qū)與設(shè)備相關(guān)聯(lián),開始錄音捕獲音頻,將捕獲到的音頻壓縮并發(fā)送給遠(yuǎn)程主機(jī)。到此語音通信連接建立完成,建立通信連接流程圖見圖 44: 其中上面雙方建立通信連接時(shí),當(dāng)接收方接受請求后,雙方會完成自己一些語音通信相關(guān)準(zhǔn)備工作,這些準(zhǔn)備工作是:通過建立語音通信類(AV)對象,并調(diào)用 AV類所提供的接口 IniChanel()和IniAudio()建立 Socket連接并建立相關(guān)對象和完成一系列初始化工作,進(jìn)而開始雙方的正常通信。這樣我們其對象來調(diào)節(jié)麥克風(fēng)以及揚(yáng)聲器音量的大小。此初始化過程是用戶點(diǎn)擊另一個用戶想進(jìn)行聊天的時(shí)候進(jìn)行實(shí)現(xiàn),主要是通過在我們自己定義的一個自定義控件中進(jìn)行調(diào)用 Mixer類進(jìn)行實(shí)現(xiàn)。語音的大小可以通過音頻設(shè)備進(jìn)行控制,所以我們必須得到音頻設(shè)備的句柄最終實(shí)現(xiàn)對聲音大小的控制。其流程圖見圖43: 建立連接模塊兩個用戶要進(jìn)行語音通訊必須在一方發(fā)送請求而另一方接收請求,然后建立其連接的情況下才能發(fā)生。總體設(shè)計(jì)見圖42:圖 43:登錄模塊流程圖 Flow chart of login module圖42:功能模塊的總體設(shè)計(jì)圖 Total design of function module 語音通訊系統(tǒng)詳細(xì)設(shè)計(jì) 登錄模塊這個模塊是整個即時(shí)通信系統(tǒng)所共用的一個模塊,是進(jìn)入本即時(shí)通信系統(tǒng)的界面,在這個模塊中主要是根據(jù)用戶ID和PASSWORD(把其存放XmppClientConnection的一個對象中)采用XMPP協(xié)議的XmppClientConnection對象提供的open()方法發(fā)送到指定的服務(wù)器上進(jìn)行驗(yàn)證,若驗(yàn)證成功,服務(wù)器會將其登錄成功的消息以及與此用戶相關(guān)的一些信息(如:詳細(xì)信息,好友列表等到)一起返回到客戶端,從而讓用戶進(jìn)入登錄后的主界面MainFrom窗體,在這個窗體中顯示了此用戶可以進(jìn)行的一系列操作和該用戶的好友列表。 語音通訊系統(tǒng)總體設(shè)計(jì)本語音通訊系統(tǒng)采用面向?qū)ο蟮幕局R,再結(jié)合系統(tǒng)的需求分析和基本流程,將系統(tǒng)主要分為如下四個模塊:登錄模塊,連接建立模塊,音頻捕獲模塊,音頻回放模塊。(5)音頻回放:本機(jī)通過音頻接收已經(jīng)將遠(yuǎn)程主機(jī)發(fā)送來的音頻數(shù)據(jù)保存在了一個數(shù)組中,這里只需根據(jù)本機(jī)的“混音器”句柄調(diào)用 行即可實(shí)現(xiàn)語音回放功能。這個過程中會用到 G729提供的壓縮算法對存放于數(shù)組中的數(shù)據(jù)進(jìn)行 16:1 的壓縮,減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。(2)音頻捕獲:先初始化麥克風(fēng),再打開本機(jī)的“混音器”并得其句柄,根據(jù)此句柄調(diào)用 ,并把其存放在一個數(shù)組中(因?yàn)椴捎?PCM,所以捕獲到的音頻是一此離散的數(shù)字)。其流程具體設(shè)計(jì)如下:(1)建立連接:兩臺計(jì)算機(jī)之間進(jìn)行語音通訊,首先就是要在雙方進(jìn)行連接的建立,然后雙方才能夠進(jìn)行通訊,確定數(shù)據(jù)發(fā)送到什么地方。 流程設(shè)計(jì)一般語音通訊系統(tǒng)的流程應(yīng)該包括:建立連接,音頻捕獲,音頻發(fā)送(包括音頻壓縮),音頻接收,音頻回放(包括音頻解壓)五個部分。還有,C增強(qiáng)了開發(fā)者的效率,同時(shí)也致力于消除編程中可能導(dǎo)致嚴(yán)重結(jié)果的錯誤,使得 C/C++程序員可以快速進(jìn)行網(wǎng)絡(luò)開發(fā),同時(shí)也保持了開發(fā)者所需要的功能強(qiáng)大性和靈活性。相對以前的編程語言來說,C語言在效率與安全性上得了很大的改善,并且支持現(xiàn)有的網(wǎng)絡(luò)編程新標(biāo)準(zhǔn),它使程序員快速便捷地創(chuàng)建基于 Microsoft .NET平臺的解決方案。而 Visual C是微軟推出的一種比較新的一種面向?qū)ο缶幊陶Z言,它使得程序員可以快速地編寫各種基于 Microsoft .NET平臺的應(yīng)用程序,Microsoft .NET 提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計(jì)算與通訊領(lǐng)域。Visual Basic、Visual C++、Visual C 和 Visual J 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。所以,采用這種結(jié)構(gòu),兩臺主機(jī)之間就進(jìn)行數(shù)據(jù)的點(diǎn)對點(diǎn)傳輸,既節(jié)省資源,又加快了數(shù)據(jù)的傳輸速度。但語音通訊模塊只是依靠服務(wù)器進(jìn)行兩個客戶端連接的建立,當(dāng)兩個客戶端的連接建立以后,將不使用服務(wù)器,而是采用P2P模式進(jìn)行通信。3.音頻接收與回放:當(dāng)對方(B)收到 A方傳過來的音頻數(shù)據(jù)后,首先其會通過解壓處理而得到最初的音頻數(shù)據(jù)然后在接收方的音頻設(shè)備中進(jìn)行回放。2.捕獲音頻與發(fā)送:當(dāng)請求方接收到對方“接受”語音請求的應(yīng)答消息后,就會打開自己的音頻設(shè)備啟動音頻捕獲處理,并將捕獲到的音頻數(shù)據(jù)進(jìn)行壓縮處理之后發(fā)送給對方。具體數(shù)據(jù)流走向是:一方(A方)發(fā)出請求經(jīng)過服務(wù)器轉(zhuǎn)發(fā)到另一方(B方),經(jīng)過B方對A方提出的請求進(jìn)行處理,然后將其反饋消息返回給A方(此處假設(shè)B方選擇了接受),則A方將得到對方的IP地址并打開自己語音設(shè)備開始進(jìn)行音頻捕獲、壓縮并發(fā)送,而B方在進(jìn)行音頻捕獲的同時(shí)進(jìn)行音頻接收、解壓與回放。在雙方通信連接建立后就可以在兩臺計(jì)算機(jī)之間進(jìn)行點(diǎn)對點(diǎn)音頻數(shù)據(jù)傳輸。 語音通訊系統(tǒng)數(shù)據(jù)流圖本語音通訊系統(tǒng)主要是是實(shí)現(xiàn)在局域網(wǎng)內(nèi)的實(shí)時(shí)語音聊天,需要一臺主機(jī)充當(dāng)服務(wù)器,另外的計(jì)算機(jī)連接到這臺服務(wù)器上。一般語音通訊系統(tǒng)應(yīng)該包括:建立連接,音頻捕獲,音頻發(fā)送(包括音頻壓縮),音頻接收,音頻回放(包括音頻解壓)五個部分。只要其中任意一個用戶發(fā)出語音聊天的請求,對方就會接收到一個請求,若同意之后雙方就可以進(jìn)行隨意的語音聊天了,并且在聊天過程中可以設(shè)置音量的大小,最后點(diǎn)擊結(jié)束鍵結(jié)束語音聊天。 語音通訊系統(tǒng)流程分析語音通訊是即時(shí)通信系統(tǒng)中的一個核心模塊,是實(shí)現(xiàn)人們即時(shí)交流的重要工具,而傳統(tǒng)的一些諸如飛鴿傳書之類的局域網(wǎng)聊天工具雖然實(shí)現(xiàn)了在局域網(wǎng)內(nèi)文字聊天、文件傳送等一系列功能,但其在語音方面卻尚未涉足,給用戶的實(shí)時(shí)交流帶來一定的影響。(3)接收請求方:當(dāng)對方發(fā)出請求后,接收請求方可以進(jìn)行“接受”或者“拒絕”處理,并將其處理反饋信息回發(fā)給請求方。其中轉(zhuǎn)請求方發(fā)送過來的請求消息給接收方,在接收方進(jìn)行處理之后,再將其反饋信息中轉(zhuǎn)給請求方。請求方最先發(fā)出語音通訊請求,然后等待接收方的處理反饋信息,只有在接收方同意之后才能進(jìn)行相關(guān)的語音通訊準(zhǔn)備工作,進(jìn)而進(jìn)行語音聊天,最后可以點(diǎn)擊“結(jié)束”按鈕結(jié)束語音通訊。其中客戶端中包含著兩種不同的角色,一個是請求方,而另一個則是接收請求方。在速度上不能出現(xiàn)太大的延遲,因?yàn)檠舆t太大可能會丟失很大一部分用戶,另外就是質(zhì)量上的要求,語音通訊質(zhì)量是一個與速度一樣重要的問題,在通信過程中不能出現(xiàn)太大的雜音,也不能出現(xiàn)語音失真的現(xiàn)象。 用戶需求分析在本系統(tǒng)中主要采用問卷調(diào)查以及與當(dāng)前比較流行的即時(shí)通信系統(tǒng)(如 )作比較而得到用戶對語音通信的一些基本要求:一是速度要快(也就是要實(shí)時(shí)) ,二是質(zhì)量要好(不能出現(xiàn)太大的雜音而影響正常通信),三是應(yīng)該能在通信過程中動態(tài)調(diào)節(jié)音量的大小,并能進(jìn)行靜音操作等。上面這些數(shù)字表明,即時(shí)通信系統(tǒng)的市場需求量是非常大的,而語音作為即時(shí)通信的一個核心模塊,也將廣泛的應(yīng)用。移動即時(shí)通信市場有著更加巨大的成長空間和誘惑力。2022 年中國即時(shí)通信用戶增長 29%,達(dá)到 。 市場需求分析近年來,即時(shí)通信市場用戶規(guī)模增長迅速,市場規(guī)模前景廣闊。實(shí)現(xiàn)在局域網(wǎng)內(nèi)語音實(shí)時(shí)聊天,是人們在互聯(lián)網(wǎng)上便利生活、工作,學(xué)習(xí)的基礎(chǔ)。 語音通訊系統(tǒng)需求分析 項(xiàng)目總述隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)上辦公、網(wǎng)上購物、網(wǎng)上交友等正在以飛快的速度走進(jìn)大眾的生活中,人們可以在網(wǎng)上做在現(xiàn)實(shí)生活中做的很多事情,而現(xiàn)實(shí)生活中最重要的一件事情就是交流,人與人的交流莫過于口頭直接進(jìn)行交流最為直觀最為快捷。所以其帶來的經(jīng)濟(jì)效益遠(yuǎn)遠(yuǎn)超過開發(fā)成本,在經(jīng)濟(jì)上也具有可行性。研發(fā)成功后即可在企事業(yè)以及其它局域網(wǎng)用戶中得到普遍運(yùn)用,而相對來說研發(fā)成本就比較低。即時(shí)通信的市場需求是非常大的,而系統(tǒng)采用小團(tuán)隊(duì)方式開發(fā)在局域網(wǎng)內(nèi)的即時(shí)通信系統(tǒng),在局域網(wǎng)內(nèi)實(shí)現(xiàn)在線交流、文件傳輸、實(shí)時(shí)語音通訊和視屏通訊等功能。2.經(jīng)濟(jì)可行性分析從論文背景中可知,隨著互聯(lián)網(wǎng)用戶的快速增長,即時(shí)通信用戶也日益增長,2022年中國即時(shí)通信用戶數(shù)達(dá) 7000萬人,2022 年達(dá)到 9300萬人。根據(jù)對目前比較流行的編程語言以及通信協(xié)議的比較,筆者在技術(shù)上選擇 Visual studio 2022作為 IDE,以 Visual C作為編程語言,結(jié)合網(wǎng)絡(luò)編程技術(shù)以及 XMPP即時(shí)通信協(xié)議進(jìn)行此次開發(fā)。所以,在連接建立之后,兩臺主機(jī)之間就進(jìn)行數(shù)據(jù)的點(diǎn)對點(diǎn)傳輸,既節(jié)省資源,又加快了數(shù)據(jù)的傳輸速度。當(dāng)在兩臺主機(jī)之間語音通訊連接已經(jīng)建立后,就不需要再用到服務(wù)器了。本系統(tǒng)主要、解壓。 音頻壓縮/解壓技術(shù)為了保證語音不失真,必須保證達(dá)到一定的采樣頻率(當(dāng)然也不能過高)和一定的采樣位數(shù)。這個數(shù)值越大,解析度就越高,錄制和回放的聲音就越真實(shí)。采樣頻率越高所能描述的聲波頻率就越高。將一串的樣本連接起來,就可以描述一段聲波了。 音頻采樣技術(shù)由于計(jì)算機(jī)只能處理離散的二進(jìn)制信息,而人的語音又是連續(xù)的模擬信號,所以我們必須通過采樣把模擬信號轉(zhuǎn)換成離散信號。(4) waveOutRest停止放音。(2) waveOutPrepareHeader 為回放設(shè)備準(zhǔn)備一個波形緩沖區(qū)(內(nèi)存塊)。本系統(tǒng)中主要是采用Windows。(6) waveInClose關(guān)閉設(shè)備,停止錄音。(4) waveInStart 啟動在指定的波形輸入設(shè)備的輸入,開始錄音。(2) waveInPrepareHeader 為波形輸入設(shè)備準(zhǔn)備一個輸入緩沖區(qū)。 音頻捕獲技術(shù)語音通訊最先要解決的就是怎樣捕獲說話者從麥克風(fēng)中傳進(jìn)來的語音,本系統(tǒng)中主要是采用 Windows多媒體相關(guān)應(yīng)用程序接口 進(jìn)行音頻捕獲。 Socket網(wǎng)絡(luò)編程利用 Socket編程實(shí)現(xiàn)典型的網(wǎng)絡(luò)通信程序,特別是在實(shí)時(shí)性要求比較高的項(xiàng)目中,Winsock編程方法是非常實(shí)用的。每個網(wǎng)絡(luò)站點(diǎn)具有一個 32位的 IP地址,它和 48位 MAC地址一起協(xié)作,完成網(wǎng)絡(luò)通信,IP 協(xié)議也是一種無連接的協(xié)議。IP協(xié)議的基本功能是提供數(shù)據(jù)傳輸、數(shù)據(jù)包編址、數(shù)據(jù)包路由,分段等。UDP 協(xié)議是一種無連接的協(xié)議,它在傳輸數(shù)據(jù)之前不建立連接,也不提供良好的可靠性和差錯檢查,只僅僅依賴于校驗(yàn)來保證可靠性。TCP/IP 協(xié)議中的核心協(xié)議有 TCP(傳輸控制協(xié)議) 、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)和IP(因特網(wǎng)協(xié)議) 。這些標(biāo)準(zhǔn)來自于多個組織的努力,約定好通用的通信方式,即協(xié)議。隨著網(wǎng)絡(luò)的發(fā)展,不同 的開發(fā)商開發(fā)了不同的通信方式。這一切也是筆者選擇此協(xié)議的原因。經(jīng)過擴(kuò)展以后的 XMPP可以通過發(fā)送擴(kuò)展的信息來處理用戶的需求
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1