2012-03-26 2 views
4

Мне нужно выполнить низкоуровневый захват звука в моем приложении для стилей Windows 8 Metro.аудиозахват в приложениях метро

Я думаю, мне нужно использовать интерфейс IAudioClient, но как получить этот интерфейс?

Microsoft говорит, что «клиент получает ссылку на интерфейс IAudioClient для звукового устройства конечной точки, используя один из методов, описанных в IMMDevice интерфейс ..»

http://msdn.microsoft.com/en-us/library/windows/desktop/dd370865(v=vs.85).aspx

но интерфейс IMMDevice не поддерживается Приложения в стиле Metro.

Как получить интерфейс IAudioClient?

ответ

1

Я получил ответ от форумов MSDN:

Platform::String^ id = Windows::Media::Devices::MediaDevice::GetDefaultAudioCaptureId(Windows::Media::Devices::AudioDeviceRole::Console); 
Microsoft::WRL::ComPtr<IAudioClient> pAudioClient = NULL; 
ActivateAudioInterface(id->Data(), __uuidof(IAudioClient), (void**)&pAudioClient); 

Это ActivateAudioInterface() является загадкой для меня — нет ссылок на него вообще в библиотеке MSDN; единственные хиты при поиске по ним находятся в форумах ...

Смежные вопросы