2008-09-03 13 views

cevap

1

DirectX SDK'u kullanarak, sistemdeki her DirectSoundCapture aygıtı için DSEnumCallback işlevinizi çağıran DirectSoundCaptureEnumerate öğesini çağırabilirsiniz. DSEnumCallback'inize iletilen ilk parametre, "Numaralandırılan aygıtı tanımlayan GUID'nin adresi veya birincil aygıt için NULL" olan bir LPGUID'dir. Eğer bir kayıt cihazı mevcut olup olmadığını öğrenmek yapmanız gereken tüm (gerçekten varsayılan aygıtını bilmeniz gerekiyorsa, ben bu yeterince iyi olduğunu düşünmüyorum) ise

, sen waveInGetNumDevs kullanabilirsiniz:

#include <tchar.h> 
#include <windows.h> 
#include "mmsystem.h" 

int _tmain(int argc, wchar_t *argv[]) 
{ 
    UINT deviceCount = waveInGetNumDevs(); 

    if (deviceCount > 0) 
    { 
     for (int i = 0; i < deviceCount; i++) 
     { 
      WAVEINCAPSW waveInCaps; 

      waveInGetDevCapsW(i, &waveInCaps, sizeof(WAVEINCAPS)); 

      // do some stuff with waveInCaps... 
     } 
    } 

    return 0; 
} 
0

Kullanabileceğiniz bir yöntemi olan PortAudio adlı bir Açık Kaynak Ses API'si var. Bence yöntem Pa_GetDeviceInfo() veya bir şey denir.

İlgili konular