青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

AEC (Acoustic Echo Canceller) 回音消除初探

轉(zhuǎn)載自:http://www.cnblogs.com/rainbowzc/archive/2006/08/07/2422323.html

AEC回聲抑制算法,這個(gè)比較難,目前可以使用directsound進(jìn)行處理,不過只能在xp下使用,別的系統(tǒng)不支持!
目前gips對(duì)本算法有出色的實(shí)現(xiàn),skype就是使用的該引擎!
要想自己實(shí)現(xiàn),恐怕很困難!
 

AEC 模塊是 Microsoft DirectSound 底層結(jié)構(gòu)的一部分。該組件包括下列特性和限制:

AEC只在不超過 25×15×9 英尺的小房間才會(huì)有效; 
AEC只對(duì)單聲道有效,當(dāng)輸出是多個(gè)通道的立體聲的時(shí)候,只有一個(gè)通道能夠具有回波抵消的效果; 
AEC不能抵消來自其它聲音源的聲音,比如背景中收音機(jī)放出來的歌曲;
IDirectSoundFullDuplex8*      DirectSoundFD;//
IDirectSoundCaptureBuffer8*  DirectSoundCaptureBuf8;//捕捉緩沖區(qū)接口指針
IDirectSoundBuffer8*         DirectSoundBuf8;//回放緩沖區(qū)接口指針
IDirectSoundBuffer8*         pIUnkown;//回放緩沖區(qū)接口指針

extern "C" const GUID IID_IDirectSoundBuffer8 = {0x6825a449, 0x7524, 0x4d82,{ 0x92, 0x0f, 0x50, 0xe3, 0x6a, 0xb3, 0xab, 0x1e}};
extern "C" const GUID GUID_DSCFX_MS_NS        = {0x11c5c73b, 0x66e9, 0x4ba1, {0xa0, 0xba, 0xe8, 0x14, 0xc6, 0xee, 0xd9, 0x2d}};
extern "C" const GUID GUID_DSCFX_CLASS_NS = {0xe07f903f, 0x62fd, 0x4e60, {0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5}};
extern "C" const GUID GUID_DSCFX_MS_AEC = {0xcdebb919, 0x379a, 0x488a, {0x87, 0x65, 0xf5, 0x3c, 0xfd, 0x36, 0xde, 0x40}};
extern "C" const GUID GUID_DSCFX_CLASS_AEC = {0xBF963D80L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}};
extern "C" const GUID DAlgorithm ={0x00000000,  0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};


//1.創(chuàng)建及初始化DirectSound
WAVEFORMATEX WaveDataFormat={WAVE_FORMAT_PCM, 1,8000,16000,2,16, 0};             
//回放緩沖區(qū)。render buffer
DSBUFFERDESC desc;
memset(&desc, 0, sizeof(desc)); 
desc.dwSize = sizeof(desc);
desc.dwFlags = DSBCAPS_CTRLFX | DSBCAPS_GLOBALFOCUS;
desc.dwBufferBytes = 2000 * NUM_REC_NOTIFICATIONS;//待定
desc.dwReserved = 0;
desc.lpwfxFormat = &WaveDataFormat;
   

//捕捉緩沖區(qū)AEC和NS效果。
DSCEFFECTDESC efft[2];
memset(efft, 0, sizeof(efft));
//AEC效果
efft[0].dwSize = sizeof(efft[0]);
efft[0].dwFlags = DSCFX_LOCSOFTWARE;
efft[0].guidDSCFXClass = GUID_DSCFX_CLASS_AEC;
efft[0].guidDSCFXInstance = GUID_DSCFX_MS_AEC;
//NS效果
efft[1].dwSize = sizeof(efft[1]);
efft[1].dwFlags = DSCFX_LOCSOFTWARE;
efft[1].guidDSCFXClass = GUID_DSCFX_CLASS_NS;
efft[1].guidDSCFXInstance = GUID_DSCFX_MS_NS;
    
//捕捉緩沖區(qū)。capture buffer
DSCBUFFERDESC cdesc;
memset(&cdesc, 0, sizeof(cdesc));
cdesc.dwSize = sizeof(cdesc);
cdesc.dwFlags = DSCBCAPS_CTRLFX; 
cdesc.dwBufferBytes =  2000 * NUM_REC_NOTIFICATIONS;//待定
cdesc.lpwfxFormat = &WaveDataFormat;
cdesc.dwFXCount = 2;
cdesc.lpDSCFXDesc = efft;

HWND win = AfxGetApp()->m_pMainWnd->m_hWnd;
hr = DirectSoundFullDuplexCreate8(0, 0,&cdesc, &desc,win, 
DSSCL_PRIORITY,&DirectSoundFD, &DirectSoundCaptureBuf8,&DirectSoundBuf8, 0); 
DXTRACE_ERR( TEXT("DirectSoundFullDuplexCreate8"), hr );
//成功創(chuàng)建DirectSoundFD,DirectSoundCaptureBuf8,DirectSoundBuf8,均不為零。

if(!FAILED(hr))
    DirectSoundFD->QueryInterface(IID_IDirectSoundBuffer8, (void**)pIUnkown);
//發(fā)現(xiàn)上面的pIUnkown=0,查詢失敗,為什么?
    AfxMessageBox("失敗");

posted on 2012-11-21 23:23 楊粼波 閱讀(1083) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 文章收藏C++ 、Windows

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲在线视频| 一区二区日韩免费看| 好吊妞**欧美| 欧美日韩亚洲成人| 欧美伦理a级免费电影| 欧美二区在线观看| 欧美伦理在线观看| 国产精品久久久久久久久久免费看 | 久久久99爱| 久久精品国产精品亚洲精品| 久久精品国产99国产精品| 久久久久久亚洲精品中文字幕| 久久99伊人| 欧美韩日一区| 中文精品视频一区二区在线观看| 亚洲欧美日韩区| 狂野欧美激情性xxxx欧美| 欧美精品免费在线观看| 国产精品黄色在线观看| 精品动漫一区二区| 亚洲一区日韩在线| 美国成人毛片| 亚洲色图自拍| 免费日韩成人| 国产欧美精品一区aⅴ影院| 国自产拍偷拍福利精品免费一| 亚洲国内自拍| 欧美一级午夜免费电影| 亚洲黄色一区| 亚洲一区二区三区视频| 麻豆免费精品视频| 国产日韩欧美高清免费| 一区二区三区免费在线观看| 久久综合久久88| 亚洲影院一区| 欧美视频在线观看一区二区| 亚洲国产精品成人精品| 欧美一区二区久久久| 亚洲国产网站| 久久综合九色综合欧美就去吻| 国产精品久久国产精品99gif | 欧美视频一区二区三区在线观看 | 欧美在线啊v| 亚洲激情一区| 久久久久久久波多野高潮日日| 国产精品日日做人人爱| 99精品视频一区| 欧美国产欧美亚州国产日韩mv天天看完整| 一区二区三区视频在线观看| 欧美成人有码| 亚洲国产成人精品久久久国产成人一区| 9l国产精品久久久久麻豆| 久久久久久一区二区| 国产精品专区一| 亚洲影院一区| 在线亚洲高清视频| 欧美视频一二三区| 亚洲视频精选| 一区二区三区视频在线播放| 欧美精品免费观看二区| 亚洲三级性片| 亚洲国产综合在线看不卡| 麻豆精品国产91久久久久久| 极品尤物av久久免费看| 久久一二三区| 久久久久在线观看| 亚洲国产另类精品专区| 欧美激情偷拍| 欧美女人交a| 亚洲午夜精品福利| 亚洲深夜影院| 国产乱理伦片在线观看夜一区| 欧美一区二区三区喷汁尤物| 亚洲欧美激情一区| 含羞草久久爱69一区| 老鸭窝亚洲一区二区三区| 久久精品人人| 亚洲激情校园春色| 亚洲日韩欧美一区二区在线| 欧美日韩国产首页| 亚洲欧美国产制服动漫| 午夜免费在线观看精品视频| 国产一区在线看| 欧美激情一区二区三区成人| 欧美日韩一区在线观看| 久久黄色网页| 欧美成人午夜激情视频| 亚洲亚洲精品三区日韩精品在线视频| 在线亚洲美日韩| 一区二区三区在线观看视频| 亚洲国产成人精品女人久久久| 欧美日韩三级在线| 久久久久.com| 欧美日韩午夜| 久久午夜精品| 欧美日韩中字| 久久久最新网址| 欧美日韩国产美女| 久久久久在线| 欧美日韩一区在线观看| 久久性天堂网| 欧美性生交xxxxx久久久| 久久久蜜桃精品| 欧美日韩亚洲高清一区二区| 久久久噜噜噜久久久| 欧美日韩国产色综合一二三四| 欧美一区高清| 欧美理论电影网| 久久久爽爽爽美女图片| 欧美日韩成人在线| 另类专区欧美制服同性| 国产精品久久久久aaaa九色| 欧美国产日韩视频| 亚洲美女黄网| 久久精品日产第一区二区三区| 久久综合狠狠综合久久综合88| 中国日韩欧美久久久久久久久| 欧美综合国产| 亚洲中午字幕| 欧美黑人在线播放| 久久九九电影| 国产精品麻豆成人av电影艾秋| 欧美黄色片免费观看| 国产欧美一区二区三区在线老狼| 亚洲欧洲一区二区三区在线观看| 韩日精品视频| 欧美在线一二三| 久久精品99国产精品日本| 国产精品久久久久一区| 一区二区三区免费网站| 99精品热6080yy久久 | 欧美精品一区二区高清在线观看| 久久久伊人欧美| 国产一区二区三区黄视频| 一区二区三区欧美成人| 在线一区亚洲| 欧美日韩一区在线播放| 亚洲美女中文字幕| 一区二区免费在线播放| 欧美二区在线看| 亚洲国产精品ⅴa在线观看| 136国产福利精品导航网址应用| 久久成人精品一区二区三区| 久久久国产91| 伊人久久大香线蕉综合热线| 久久久久久久久久久久久9999| 狂野欧美激情性xxxx| 韩国精品一区二区三区| 久久久亚洲人| 亚洲电影av| 99精品99| 国产精品久在线观看| 亚洲影院免费观看| 久久综合九色综合欧美就去吻 | 亚洲一区二区三区免费观看 | 亚洲一区二区免费| 国产精品看片资源| 午夜精品一区二区在线观看| 久久www免费人成看片高清| 国产视频综合在线| 久热综合在线亚洲精品| 亚洲国产美女久久久久| 亚洲婷婷综合色高清在线 | 国产麻豆9l精品三级站| 欧美在线视频观看免费网站| 米奇777在线欧美播放| 亚洲精品免费在线播放| 国产精品超碰97尤物18| 欧美在线免费视屏| 亚洲麻豆视频| 久久久久久伊人| 一区二区三区免费网站| 国内精品视频在线观看| 欧美精品www在线观看| 亚欧成人在线| 久久国产精品亚洲77777| 亚洲国产精品电影在线观看| 欧美日韩性生活视频| 欧美一区二区三区免费视| 欧美黄色网络| 欧美专区日韩专区| 亚洲免费av观看| 国内精品免费午夜毛片| 欧美日韩在线影院| 久久免费黄色| 亚洲午夜国产一区99re久久 | 亚洲资源av| 欧美韩日一区二区三区| 午夜一区二区三区不卡视频| 18成人免费观看视频| 欧美亚一区二区| 欧美大香线蕉线伊人久久国产精品| 亚洲小视频在线观看| 亚洲精品国产精品乱码不99按摩 | 亚洲视频福利| 亚洲国产精品一区二区久| 久久久久久亚洲综合影院红桃 | 91久久亚洲| 美日韩精品免费观看视频| 午夜视频精品|