对于 ASIO 和 Windows WDM-KS 主机 API,PortAudio 显示的 deviceCount 为 0,defaultOutputDevice 为 -1。我确实成功构建了 PortAudio 以包括对 ASIO 和 Windows WDM-KS 的支持,并且在迭代可用主机时这两个选项都会显示。我还验证了我确实安装了 ASIO4All。我究竟做错了什么?我在 Mac 上的虚拟机 (vmware) 中运行 Windows。这会引起问题吗?

有帮助吗?

解决方案

我找到了解决方案。幸运的是,我有一个朋友有一个使用 ASIO 的项目。他让我尝试在我的盒子上运行他的代码,它能够正确找到 ASIO 设备。从那里开始,我需要逆向工作,直到我发现这两个项目之间的不同之处。

这两个项目都使用 C# 应用程序来托管托管 C++ 程序集,该程序集对 PortAudio 进行调用。问题最终是我的项目 static void Main(string[] args) 没有 [STAThread] 属性。添加后,ASIO 设备就开始出现。希望这对某人有帮助。

其他提示

第一个明显的测试是在支持ASIO的VM上快速安装主机。您可以尝试收割机 http://www.rehil.fm/ 在评估时可以自由下载和使用它。

如果第三方主机软件通过ASIO4ALL支持设备,那么您知道您使用Port Audio对您有一些错误。

如果第三方音频主机也不识别设备,则将查看asio4all设置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top