我想在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