2008-09-03 9 views

Antwort

1

Mit der DirectX SDK können Sie DirectSoundCaptureEnumerate aufrufen, die Ihre DSEnumCallback-Funktion für jedes DirectSoundCapture-Gerät auf dem System aufrufen wird. Der erste Parameter, der an Ihren DSEnumCallback übergeben wird, ist eine LPGUID, die "Adresse der GUID, die das Gerät angibt, das aufzulisten ist, oder NULL für das primäre Gerät".

Wenn alles, was Sie tun müssen, ist herauszufinden, ob ein Aufzeichnungsgerät vorhanden ist (ich glaube nicht, das gut genug ist, wenn Sie wirklich das Standardgerät müssen wissen), können Sie waveInGetNumDevs verwenden:

#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

Es gibt eine Open-Source-Audio-API mit der Bezeichnung PortAudio, für die Sie eine Methode verwenden können. Ich denke, die Methode heißt Pa_GetDeviceInfo() oder so.

Verwandte Themen