C++ WASAPI&x2B;windows应用商店应用程序初始化
我正试图编写一个程序来捕获你的演讲,将我的效果应用到捕获的音频上,并立即播放。我将这个应用程序写入C++的Windows商店。在经历了MediaCapture的痛苦之后,我决定使用WASAPI来实现这一点。我正在使用msdn中的一个示例进行设置。正如我预料的那样,我很快就遇到了问题。因此,问题在于以下两行:C++ WASAPI&x2B;windows应用商店应用程序初始化,c++,audio,microsoft-metro,wasapi,C++,Audio,Microsoft Metro,Wasapi,我正试图编写一个程序来捕获你的演讲,将我的效果应用到捕获的音频上,并立即播放。我将这个应用程序写入C++的Windows商店。在经历了MediaCapture的痛苦之后,我决定使用WASAPI来实现这一点。我正在使用msdn中的一个示例进行设置。正如我预料的那样,我很快就遇到了问题。因此,问题在于以下两行: const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator); const IID IID_IMMDeviceEnu
const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
visual studio说:
Error: operand of __uuidof must have a class or enum type for which __declspec(uuid('..')) has been specified.
我不知道这是什么意思。在此我将非常感谢您的帮助。要能够使用u_uidof(),必须为目标声明uuid。为Windows 8应用商店应用程序编译时,MMDeviceEnumerator和IMMDeviceEnumerator似乎没有任何uuid声明,您应该使用Windows::Devices::Enumeration命名空间枚举设备,然后使用IActivateAudioInterfaceAsyncOperation初始化和激活音频设备
下面是一个完整工作示例的链接,该示例捕获pcm数据并将其写入wav文件。它使用系统的默认音频捕获设备,但列举可用设备并使用其中任何一个都是小菜一碟。:)