É possível relacionar o mesmo dispositivo de áudio em diferentes APIs?
Pergunta
Estou usando a API WINMM para lidar com o áudio. estou a usar waveInGetDeviceCaps
e waveInMessage
para identificar exclusivamente uma "linha de áudio". Tudo funciona bem, exceto que no Vista, o nome do dispositivo é limitado em 32 chars pelo WaveInCaps
estrutura.
Para contornar isso, estou imaginando o uso da API do núcleo quando a versão do OS é> = Vista. Estou usando o IMMDeviceEnumerator.GetDevice
e IMMDeviceEnumerator.EnumAudioEndpoints
Para reunir informações da linha de áudio, mas não tenho certeza de como dizer que um dispositivo na API Core se refere a uma entrada na API Wavexx.
Acho que poderia comparar o caminho do dispositivo de ambos, mas isso iria contra a recomendação de MS de tratar a sequência do caminho do dispositivo como "opaca".
O que você diria?
Solução
Este cenário é descrito em http://msdn.microsoft.com/en-us/library/dd370819(vs.85).aspx