ARM和VC之間進(jìn)行音頻通信
設(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ò)。
評(píng)論