我似乎无法在网上找到任何关于我的问题的教程.
所有
the simple guide都不适合UWP.
例如,
要使用WASAPI,请执行以下步骤
>枚举设备
>捕获音频
>播放(渲染)音频
但是枚举步骤,客户端必须调用CoCreateInstance.但是从我的理解这个功能is not support in UWP.我在this code跟随30号线时失败了.
所以,我试着理解这个,C++ UWP using WASAPI,但我找不到任何枚举部分,这个项目对我来说非常复杂.
它包含很多其他文件(DeviceState.h,common.h)
我无法提取代码来创建自己的应用程序.
我的问题是如何使用WASAPI在c UWP应用程序上捕获音频?
如果这个问题太过分了,我会将我的问题改为如何在c UWP应用程序中枚举音频设备?
我使用WASAPI的原因是因为我想访问存储在Buffer中的数据.
最佳答案 是的,您可以使用WASAPI在UWP中进行音频捕获,这是您引用的示例(
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/WindowsAudioSession)中所做的.
对于枚举,主要功能是DeviceInformation :: FindAllAsync,使用此选择器MediaDevice :: GetAudioCaptureSelector,它将允许您列出捕获设备.
对于流捕获,您需要的主要功能是
ActivateAudioInterfaceAsync,如果您只需要使用默认设备,它将允许您从设备ID(特定设备)或设备类(渲染或捕获)创建IAudioClient.
一旦你有了这个IAudioClient,你就可以用它来获取IAudioClientCapture,基本上是你在样本中看到的东西.