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

正文內(nèi)容

基于vc的語(yǔ)音傳輸系統(tǒng)的設(shè)計(jì)與開發(fā)畢業(yè)設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-23 04:09本頁(yè)面
  

【正文】 (),建立流式套接字s。圖42 服務(wù)器程序和客戶程序的創(chuàng)建過程5 語(yǔ)音傳輸系統(tǒng)功能實(shí)現(xiàn) 本系統(tǒng)以語(yǔ)音聊天為例給出了應(yīng)用實(shí)例。 語(yǔ)音模塊實(shí)現(xiàn)隨著計(jì)算機(jī)技術(shù)的發(fā)展,特別是海量存儲(chǔ)設(shè)備和大容量?jī)?nèi)存在PC機(jī)上的實(shí)現(xiàn),對(duì)音頻媒體進(jìn)行數(shù)字化處理便成為可能。數(shù)字化處理的核心是對(duì)音頻信息的采樣,通過對(duì)采集到的樣本進(jìn)行加工,達(dá)成各種效果,這是對(duì)音頻媒體數(shù)字化處理的基本含義。基本的音頻數(shù)字化處理包括以下幾種。不同采樣率、頻率、通道數(shù)之間的變換和轉(zhuǎn)換。其中變換只是將其視為另外一種格式,而轉(zhuǎn)換通過重新采樣來進(jìn)行,其中還可以根據(jù)需要采用插值算法以補(bǔ)償失真。針對(duì)音頻數(shù)據(jù)本身進(jìn)行的各種變換,如淡入、淡出、音量調(diào)節(jié)等。通過數(shù)字濾波算法進(jìn)行的變換,如高通、低通濾波器。但是最基本、最常用的還是聲音的錄制和播放。作為一個(gè)語(yǔ)音傳輸軟件,聲音的錄制、保存、傳輸和播放都是必不可少的,也是最重要的一環(huán)。本軟件需要語(yǔ)音輸入、輸出功能。這些技術(shù)的實(shí)現(xiàn)借助了Windows系統(tǒng)提供的底層音頻API。MIDI的意思是樂器數(shù)字接口(Musical Instrument Digital Interface),它在微軟公司開發(fā)Windows系統(tǒng)以前就有的一個(gè)用于電子鍵盤的標(biāo)準(zhǔn)。MIDI定義了一個(gè)傳輸和存儲(chǔ)音樂信息的協(xié)議。它在多媒體音頻中占有重要的位置,是播放和錄制音樂的國(guó)際標(biāo)準(zhǔn),它確定了連接音樂設(shè)備的電纜線、硬件和通信協(xié)議。下邊將介紹程序的具體實(shí)現(xiàn)。對(duì)于錄入和播放的聲音存儲(chǔ)時(shí)必須以特定的格式才可以,本軟件的格式定義如下: =WAVE_FORMAT_PCM。 =1。 =8000。 =16000。 =2。 =0。 =16。只定義了聲音的格式是不夠的,要實(shí)現(xiàn)聲音的存儲(chǔ)還得對(duì)數(shù)據(jù)塊進(jìn)行定義,數(shù)據(jù)塊的定義采用如下結(jié)構(gòu)描述: m_pWaveHdrIn[0].lpData=m_cBufferIn。 m_pWaveHdrIn[0].dwBufferLength=MAX_BUFFER_SIZE。 m_pWaveHdrIn[0].dwBytesRecorded=0。 m_pWaveHdrIn[0].dwFlags=0。為了能夠進(jìn)行錄制和播放,還需要利用低級(jí)音頻函數(shù)——wave系列函數(shù)。對(duì)于播放過程,需要利用waveOutPrepareHeader函數(shù)準(zhǔn)備緩沖數(shù)據(jù)頭信息,然后調(diào)用函數(shù)waveOutWrite將音頻數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)寫到播放設(shè)備中去進(jìn)行播放。對(duì)于錄制過程,需要先調(diào)用waveInPrepareHeader進(jìn)行接收數(shù)據(jù)緩沖區(qū)的準(zhǔn)備工作,然后調(diào)用waveInAddBuffer函數(shù)添加錄制數(shù)據(jù)緩沖區(qū),最后調(diào)用函數(shù)waveInStart進(jìn)行錄制。下邊將列出這些函數(shù)在源程序中的應(yīng)用:result=waveOutPrepareHeader(m_hWaveOut,amp。m_pWaveHdrOut[0],sizeof(WAVEHDR))。 if (result!= MMSYSERR_NOERROR) { AfxMessageBox(_T(Cannot OutPrepareHeader !))。 return。 }。 If以后為信息出錯(cuò)警告,以下函數(shù)省略。result=waveOutWrite(m_hWaveOut,amp。m_pWaveHdrOut[0],sizeof(WAVEHDR))。 result=waveInPrepareHeader(m_hWaveIn,amp。m_pWaveHdrIn[0],sizeof(WAVEHDR))。 result=waveInAddBuffer(m_hWaveIn,amp。m_pWaveHdrIn[0],sizeof(WAVEHDR))。 void CSound::Record(){ waveInStart(m_hWaveIn)。//開始錄音} 服務(wù)器和客戶端功能的實(shí)現(xiàn)服務(wù)器端與客戶端是程序與外界聯(lián)系的窗口。其主要功能實(shí)現(xiàn)如下: if(==1amp。amp。m_dlgm_willchating==FALSE) //如果有聲音過來并且本機(jī)的聲音設(shè)備已經(jīng)準(zhǔn)備好了則首先在本機(jī)發(fā)出聲音 if (m_aSessionOut != NULL) { msgSerialize(*m_aSessionOut)。 m_aSessionOutFlush()。 return TRUE。 } else { //對(duì)方關(guān)閉了連接 int CClientSocket::GetLocalHostName(CString amp。sHostName) //獲得本地計(jì)算機(jī)名稱 int CClientSocket::GetIpAddress(const CString amp。sHostName, CString amp。sIpAddress)//獲得本地IP以上為部分功能實(shí)現(xiàn)。其他實(shí)現(xiàn)詳見源文件。 6 系統(tǒng)功能的測(cè)試與分析 語(yǔ)音聊天程序使用介紹語(yǔ)音聊天程序的使用方法如下:(1) 雙擊應(yīng)用程序圖標(biāo),將會(huì)彈出一窗口。(2) 在窗口相應(yīng)位置填寫服務(wù)器IP地址和端口號(hào),默認(rèn)IP地址為本機(jī)IP地址,默認(rèn)端口號(hào)為4000。(3) 如果是要建立服務(wù)器,點(diǎn)擊建立服務(wù)器按鈕,此時(shí)如果建立成功文本框會(huì)顯示“Server Has Been Set OK!”。如果失敗則會(huì)彈出警告窗口,請(qǐng)仔細(xì)檢查IP和端口號(hào)是否填寫正確。服務(wù)端運(yùn)行界面見圖51。(4) 如果要建立客戶端,那么在填寫好服務(wù)器IP和端口號(hào)后點(diǎn)擊連接服務(wù)器按鈕??蛻舳诉\(yùn)行界面見52。(5) 此時(shí),大家可以進(jìn)行文本聊天。如果想進(jìn)行語(yǔ)音聊天那么請(qǐng)點(diǎn)擊語(yǔ)音聊天按鈕,當(dāng)然你要有相應(yīng)的硬件設(shè)備——音箱(耳機(jī))和麥克風(fēng)。那么現(xiàn)在你就可以進(jìn)行語(yǔ)音聊天了。(6) 如果想停止語(yǔ)音聊天的話,那么請(qǐng)點(diǎn)擊停止語(yǔ)音聊天按鈕,此按鈕和語(yǔ)音聊天按鈕是同一個(gè)。(7) 如果想關(guān)閉本系統(tǒng),那么請(qǐng)點(diǎn)擊THE END按鈕或者直接關(guān)閉程序窗口。(8)服務(wù)器如果關(guān)閉那么客戶端將自動(dòng)斷開。下邊是語(yǔ)音聊天系統(tǒng)程序運(yùn)行窗口:圖51 服務(wù)器建立界面圖52 客戶端運(yùn)行界面“IT開拓者3網(wǎng)絡(luò)工作室”成立于2010年,是一個(gè)專業(yè)的計(jì)算機(jī)軟件開發(fā)團(tuán)隊(duì)?!百Y源共享,信息互通” 需要更多相關(guān)設(shè)計(jì)資料和源代碼加:49370312
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1