首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

DirectSound 波形捕捉系列(三):查詢捕捉裝置能力

     編輯:關於C++

使用 IDirectSoundCapture8::GetCaps 取得裝置能力資訊

建立緩衝區前應查詢裝置能力,確認支援的格式、聲道數與並發存取特性。

DSCCAPS 結構關鍵資訊

DSCCAPS caps = { sizeof(DSCCAPS) };
pDSCapture->GetCaps(&caps);
// caps.dwChannels: 支援聲道數 (1=單聲道, 2=立體聲)
// caps.dwFormats: 支援格式位元組合 (WAVE_FORMAT_1M08, WAVE_FORMAT_2S16 等)
// caps.dwFlags: DSCCAPS_MULTIPLECAPTURE 表示支援多應用程式並發捕捉

並發捕捉支援

  • 無 WDM 驅動:同一時間僅允許單一應用程式使用捕捉裝置
  • WDM 驅動:若 dwFlags 含 DSCCAPS_MULTIPLECAPTURE,多應用程式可並發捕捉,各自指定格式

實務建議

  1. 列舉裝置後,對每個裝置建立暫時物件查詢能力
  2. 根據 dwFormats 選擇應用程式需求相容的格式
  3. 檢查 DSCCAPS_MULTIPLECAPTURE 決定是否需處理裝置佔用衝突

完整系列導覽

第三篇:裝置能力 ← 當前 | 第四篇:建立緩衝區 | 第五篇:資訊查詢

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved