我用过的几乎每个 DAW 都有一个“打开控制面板”按钮,它可以打开 ASIO 驱动程序的控制面板:
我将如何从 VB / C# 启动它?也许某种shell命令?
我已经下载了一个 asioconfig.exe,它确实可以做到这一点(所以它必须是可能的),但是在延迟设置窗口(如上所示)启动之前,还有另一个窗口,我在其中选择了 ASIO 驱动程序:
我想从我的代码中指定驱动程序并直接进入配置。有谁知道我该怎么做?
你可以用NAudio做到这一点。只需调用类ShowControlPanel
上的方法AsioOut
。NAudio Demo 应用程序展示了这一点(在音频播放演示和 ASIO 录制演示中)。
ASIO API 定义了对 ASIO 驱动程序的以下调用:
ASIOError ASIOControlPanel(void);
使用它来显示控制面板。
回答您关于如何从用 C# 或 VB 编写的 .NET 代码与 ASIO API 对话的问题:
ASIO 是用 C++ 编写的。因此,您可以使用也称为 P/Invoke的平台调用( P/I ) 来访问从 C# 到 VC++ dll 的方法。要从另一个方向调用 VC++ dll 中的 C# 方法,您可以使用反向 P/I,这意味着为 C# 代码设置回调方法(或委托),这需要将委托传递给 VC++ 方法初始化。这就是我在我的代码中所做的并且效果很好。