我想在Unity項目中使用this代碼,但它似乎在Mono/.NET COM Interop的實現不同,這會導致代碼失敗或崩潰。在.NET中運行代碼可以正常工作,但是使用Mono 2.0(在Unity之外)運行它的方式與在Unity中的方式相同,表明這是Mono的問題,而不是Unity。在單聲道2.0 COM互操作
如果我按原樣編譯並運行代碼,則失敗,因爲從MMDeviceEnumerator到IIMMDeviceEnumerator的type cast失敗。在使用[ComInterop]裝飾所有接口時,轉換成功,但對GetDefaultAudioEndpoint的調用會導致Unity/Mono碰到訪問衝突。
在單聲道上很難找到好的COM Interop文檔 - 特別是關於這樣一箇舊版本。這是否可以運行?
這正是我最終做的 – Johan