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

正文內(nèi)容

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

2025-06-23 04:09本頁面
  

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