시스템에 기본 녹음 장치가 설치되어 있는지 어떻게 알 수 있습니까? Win32 API에 대한 일부 호출을 통해이 작업을 수행 할 수있을 것입니다.시스템에서 기본 녹음 장치의 존재를 감지하는 방법은 무엇입니까?
나는 코드를 통해 이것을하는 것이지, 제어판을 열고 사운드 옵션을 살펴 보는 것이 아닙니다.
시스템에 기본 녹음 장치가 설치되어 있는지 어떻게 알 수 있습니까? Win32 API에 대한 일부 호출을 통해이 작업을 수행 할 수있을 것입니다.시스템에서 기본 녹음 장치의 존재를 감지하는 방법은 무엇입니까?
나는 코드를 통해 이것을하는 것이지, 제어판을 열고 사운드 옵션을 살펴 보는 것이 아닙니다.
DirectX SDK을 사용하면 시스템의 각 DirectSoundCapture 장치에 대해 DSEnumCallback 함수를 호출하는 DirectSoundCaptureEnumerate를 호출 할 수 있습니다. DSEnumCallback에 전달 된 첫 번째 매개 변수는 "열거되는 장치를 식별하는 GUID의 주소 또는 기본 장치의 NULL"인 LPGUID입니다. 당신이 녹음 장치가 존재하는지 확인하기 만하면 모두가 (당신이 정말로 기본 장치를 알 필요가 있다면 나는이 정도면 충분 생각하지 않는) 경우
, 당신은 waveInGetNumDevs를 사용할 수 있습니다
#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;
}
사용할 수있는 방법이있는 PortAudio이라는 오픈 소스 오디오 API가 있습니다. 나는이 방법이 Pa_GetDeviceInfo() 또는 뭔가라고 생각한다.
win32 API에는 waveInGetNumDevs이라는 기능이 있습니다.