我需要在
Windows 8 Metro风格的应用程序中执行低级音频捕获.
我想我需要使用IAudioClient接口,但是如何获得该接口呢?
微软称“客户端使用IMMDevice Interface中描述的技术之一获取对音频端点设备的IAudioClient接口的引用”.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd370865(v=vs.85).aspx
但Metro风格的应用程序不支持IMMDevice接口.
如何获得IAudioClient接口?
解决方法
我从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 Library中根本没有对它的引用;搜索它的唯一点击是在论坛中……