winmm API를 사용하여 오디오를 처리하고 있습니다. waveInGetDeviceCaps
및 waveInMessage
을 사용하여 "오디오 라인"을 고유하게 식별합니다. 비스타에서는 장치의 이름이 WaveInCaps
구조체에 의해 32 문자로 제한된다는 것을 제외하면 모든 것이 잘 작동합니다.다른 API에서 동일한 오디오 장치를 연결할 수 있습니까?
OS 버전이 Vista 이상일 때 핵심 API를 사용하려고합니다. 오디오 라인 정보를 수집하기 위해 IMMDeviceEnumerator.GetDevice
과 IMMDeviceEnumerator.EnumAudioEndpoints
을 사용하고 있습니다.하지만 core API 아래에있는 한 장치가 waveXx API 아래에있는 하나의 항목과 관련되어 있음을 알 수는 없습니다.
나는 둘 다 장치 경로를 비교할 수 있다고 생각하지만 장치 경로 문자열을 "불투명 한"것으로 취급하는 MS의 권고에 어긋나게됩니다.
무엇이라고 말합니까?
에 설명되어있는 내 질문은 : IMMDevice의 인스턴스 주어, 어떻게 (이 "라인 지수"나는 waveInOpen에 대한 인수로 사용할 수 있습니다 일을 알고있다 예를 들어) 해당 행과 관련이 있습니까? –