新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM和VC之間進(jìn)行音頻通信

ARM和VC之間進(jìn)行音頻通信

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
ARMVC之間進(jìn)行音頻通信我在VC下寫了一個(gè)音頻通信的MFC程序,主要流程是先調(diào)用函數(shù)waveInOpen()打開(kāi)錄音設(shè)備,然后調(diào)用waveInPrepareHeader()為錄音
設(shè)備準(zhǔn)備緩沖區(qū),然后用waveAddBuffer實(shí)現(xiàn)錄音。

在打開(kāi)音頻設(shè)備時(shí),主要用到:結(jié)構(gòu)體:WAVEFORMATEX,對(duì)其設(shè)置如下:

waveform.wFormatTag = WAVE_FORMAT_PCM; //采樣方式,PCM(脈沖編碼調(diào)制)
waveform.nChannels = 1; //單聲道
waveform.nSamplesPerSec= 8000; //采樣率
waveform.nAvgBytesPerSec = 16000; //數(shù)據(jù)率
waveform.nBlockAlign = 2; //最小塊單元
waveform.wBitsPerSample= 16; //樣本大小為8bit
waveform.cbSize = 0; //附加格式信息

然后通過(guò)創(chuàng)建socket套接字傳送數(shù)據(jù),實(shí)現(xiàn)音頻通信。寫出來(lái)http://www.051756.com/的程序?qū)崿F(xiàn)PC之間音頻通信沒(méi)有問(wèn)題,
但是,當(dāng)用這個(gè)程序和ARm進(jìn)行通信時(shí),則在ARM端完全聽(tīng)不到聲音。ARM上寫的音頻通信程序在
ARM之間通信也沒(méi)有問(wèn)題,我想是協(xié)議之間問(wèn)題導(dǎo)致不能實(shí)現(xiàn)PC和ARM的通信,請(qǐng)各位高手幫忙告訴
他們之間音頻通信的協(xié)議時(shí)什么?不勝感激http://www.db5888.com/!我實(shí)現(xiàn)的是PC與PC之間通信/PC與ARM之間通信,結(jié)果為PC端可以聽(tīng)到PC端的聲音/ARM端可以聽(tīng)到PC端的聲音。不知道對(duì)你有幫助否?我用的是Socket傳輸 wav聲音.

還有就是,PC端的代碼你找的是一種, ARM的代碼你又找了一種,兩種在通訊的時(shí)候不匹配。不行就把PC端的改寫為 ARM上的代碼,你在試一下。

你的程序該是小問(wèn)題。 ARM端有雜音否? 可以增加些記錄信息,便于調(diào)試, 找錯(cuò)。


關(guān)鍵詞: ARMVC音頻通

評(píng)論


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

關(guān)閉