波形捕捉:(2)创建捕捉设备对象
創(chuàng)建“捕捉設(shè)備對(duì)象”?
????? 你可以通過(guò)調(diào)用?DirectSoundCaptureCreate8?或?DirectSoundFullDuplexCreate8?函數(shù)來(lái)創(chuàng)建一個(gè)捕捉設(shè)備對(duì)象。這兩個(gè)函數(shù)都獲取一個(gè)指向IDirectSoundCapture8?接口的指針。
????? DirectSoundCaptureCreate?的lpcGUID參數(shù)或?DirectSoundFullDuplexCreate8?的pcGuidRenderDevice參數(shù)可以是一個(gè)由枚舉得到的GUID,或者是如下預(yù)定義的GUID之一:
| GUID | Description |
| DSDEVID_DefaultCapture | 系統(tǒng)默認(rèn)的聲音捕捉設(shè)備。你也可以通過(guò)傳遞一個(gè)NULL指針而不是設(shè)備GUID來(lái)指定一個(gè)設(shè)備。 |
| DSDEVID_DefaultVoiceCapture | 默認(rèn)聲音溝通設(shè)備。通常情況下,這是一個(gè)輔助設(shè)備如帶麥克風(fēng)的USB耳機(jī)。 |
????? 你也可以使用?CoCreateInstance?函數(shù)來(lái)創(chuàng)建一個(gè)對(duì)象。這個(gè)過(guò)程與創(chuàng)建設(shè)備對(duì)象類(lèi)似。步驟如下:
????? 1.在應(yīng)用程序啟動(dòng)時(shí)通過(guò)調(diào)用?CoInitializeEx?函數(shù)初始化COM對(duì)象
Code ????? 2.通過(guò)調(diào)用?CoCreateInstance?方法和?IDirectSound8::Initialize?方法創(chuàng)建設(shè)備對(duì)象,而不是使用?DirectSoundCreate8?函數(shù)
Code CLSID_DirectSound8 是DirectSound驅(qū)動(dòng)對(duì)象類(lèi)的類(lèi)標(biāo)識(shí)符,IID_IDirectSound8 是接口標(biāo)識(shí)符。lpds參數(shù)接收這個(gè)接口的指針。
????? 3.調(diào)用?IDirectSound8::Initialize?方法來(lái)關(guān)聯(lián)對(duì)象和設(shè)備。這個(gè)方法使用的參數(shù)與?DirectSoundCreate8?使用的設(shè)備GUID參數(shù)相同。 Code ????? 4.在你結(jié)束應(yīng)用程序的時(shí)候,通過(guò)調(diào)用?CoUninitialize?函數(shù)來(lái)結(jié)束COM庫(kù),如下:
????? CoUninitialize();
????? 如果你使用?CoCreateInstance,那么用戶(hù)在控制面板中選擇的默認(rèn)捕捉設(shè)備對(duì)象將被創(chuàng)建。
????? 如果你想要播放設(shè)備對(duì)象和捕捉設(shè)備對(duì)象同時(shí)存在,那么你應(yīng)該在創(chuàng)建和初始化捕捉設(shè)備對(duì)象前創(chuàng)建并初始化播放設(shè)備對(duì)象,或者使用?DirectSoundFullDuplexCreate8。
????? 有些音頻設(shè)備默認(rèn)沒(méi)有設(shè)定為全雙工音頻。如果你的應(yīng)用程序在創(chuàng)建和初始化播放設(shè)備對(duì)象和捕捉設(shè)備對(duì)象時(shí)出現(xiàn)問(wèn)題,你應(yīng)該建議用戶(hù)檢查音頻設(shè)備屬性,從而確保全雙工已經(jīng)被啟用了。?
?
查看其它:
??????導(dǎo) 言
????? 1.枚舉“捕捉設(shè)備”
????? 2.創(chuàng)建“捕捉設(shè)備對(duì)象”
??????3.“捕捉設(shè)備”性能
????? 4.創(chuàng)建一個(gè)“捕捉緩沖區(qū)”
????? 5.“捕捉緩沖區(qū)”信息
????? 6.“捕捉緩沖區(qū)”通知
????? 7.?“捕捉緩沖區(qū)”特效
????? 8.使用“捕捉緩沖區(qū)”
????? 9.寫(xiě)入到WAV文件?
本文轉(zhuǎn)自stg609博客園博客,原文鏈接:http://www.cnblogs.com/stg609/archive/2008/10/20/1314020.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的波形捕捉:(2)创建捕捉设备对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工厂对象模式简介
- 下一篇: js通过ajax发送header信息ph