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