簡體   English   中英

WASAPI + Windows存儲應用程序初始化

[英]WASAPI + windows store app initialization

我正在嘗試編寫一個捕獲您的語音的程序,將我的效果應用於捕獲的音頻並立即播放。 我正在用C ++將這個應用程序寫入Windows商店。 在遭受MediaCapture的痛苦之后,我決定使用WASAPI來做到這一點。 我正在使用msdn中的示例來設置WASAPI 如我所料,我很快遇到了一個問題。 因此,問題出在以下兩行:

const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);

視覺工作室說:

Error: operand of __uuidof must have a class or enum type for which __declspec(uuid('..')) has been specified.

我不知道這意味着什么。 我會在這里有所幫助。

為了能夠使用__uuidof(),必須為目標聲明一個uuid。 在為Windows 8 Store Apps進行編譯時,似乎MMDeviceEnumerator和IMMDeviceEnumerator沒有任何uuid聲明,而應使用Windows :: Devices :: Enumeration命名空間枚舉設備,然后使用IActivateAudioInterfaceAsyncOperation初始化和激活音頻設備。

這是一個指向可以正常工作的示例的鏈接,該示例捕獲pcm數據並將其寫入wav文件。 它使用系統的默認音頻捕獲設備,但枚舉可用設備並使用其中任何一個都是小菜一碟。 :)

Windows 8的WASAPI示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM