如何使用WASAPI在c UWP应用程序上捕获音频?

如何使用WASAPI在c UWP应用程序上捕获音频?,第1张

概述我似乎无法在网上找到任何关于我的问题的教程. 所有 the simple guide都不适合UWP. 例如, 要使用WASAPI,请执行以下步骤 >枚举设备 >捕获音频 >播放(渲染)音频 但是枚举步骤,客户端必须调用CoCreateInstance.但是从我的理解这个功能is not support in UWP.我在this code跟随30号线时失败了. 所以,我试着理解这个,C++ UWP 我似乎无法在网上找到任何关于我的问题的教程.
所有 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中的数据.

编辑:
用于枚举.
https://github.com/Microsoft/Windows-universal-samples/blob/7c7832e1f144e4fc836603fd70e1352024a5fe1a/Samples/WindowsAudioSession/cpp/Scenario1.xaml.cpp#L85

解决方法 是的,您可以使用WASAPI在UWP中进行音频捕获,这是您引用的示例( https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/WindowsAudioSession)中所做的.

对于枚举,主要功能是Deviceinformation :: FindAllAsync,使用此选择器MediaDevice :: GetAudioCaptureSelector,它将允许您列出捕获设备.

对于流捕获,您需要的主要功能是ActivateAudioInterfaceAsync,如果您只需要使用默认设备,它将允许您从设备ID(特定设备)或设备类(渲染或捕获)创建IAudioClIEnt.一旦你有了这个IAudioClIEnt,你就可以用它来获取IAudioClIEntCapture,基本上是你在样本中看到的东西.

总结

以上是内存溢出为你收集整理的如何使用WASAPI在c UWP应用程序上捕获音频?全部内容,希望文章能够帮你解决如何使用WASAPI在c UWP应用程序上捕获音频?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1229256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存