Joh*_*han 8 c# mono com-interop unity-game-engine wasapi
我试图在Unity项目中使用此代码,但似乎Mono/.NET中的COM Interop的实现不同,这导致代码失败或崩溃.在.NET中运行代码工作正常,但使用Mono 2.0(在Unity之外)运行它的方式与Unity中的方式相同,这表明它与Mono一般存在问题,而不是Unity.
如果我按原样编译并运行代码,则会失败,因为从MMDeviceEnumerator转换为IIMMDeviceEnumerator 的类型失败.使用[ComInterop]装饰所有接口时,转换成功,但对GetDefaultAudioEndpoint的调用使Unity/Mono因访问冲突而崩溃.
很难在Mono上找到COM Interop的良好文档 - 尤其是关于这样一个旧版本的文档.是否可以让它运行?
将 COM 函数包装在 C 函数中,并通过 P/Invoke 调用 C 函数。这可以分两步完成:
这是一个例子。对于您的情况,只需使用 C/C++ 部分中的 COM 代码即可完成您想要的操作。
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |