c# - 如何将 MIDI 从 Unity 发送到外部 VST
问题描述
在我尝试从 Unity 内部运行 VST 仪器失败之后,我的新方法是将 midi 消息从 Unity 发送到外部主机。
为了实现这一点,我一直在尝试遵循这种方法:
- 安装 loopMIDI ( http://www.tobias-erichsen.de/software/loopmidi.html )
- 在 loopMIDI 中创建一个虚拟 MIDI 端口
- 下载 Sanford C# MIDI 工具包http://www.codeproject.com/Articles/6228/C-MIDI-Toolkit
- 在项目中添加对 MIDI 工具包的引用
编写一些代码,即:
private OutputDevice outDevice = null; private void MIDITest() { int devices = OutputDevice.DeviceCount; if (devices == 0) { MessageBox.Show("No MIDI output devices available.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (outDevice != null) { outDevice.Close(); } outDevice = new OutputDevice(0); // Change this for other MIDI devices outDevice.Error += inDevice_Error; outDevice.Reset(); // Send a Note On ChannelMessage cm = new ChannelMessage(ChannelCommand.NoteOn, 0, 60, 127); outDevice.Send(cm); }
我已经设法完成了所有这些步骤,但是,我仍然无法检测到来自 Unity 的任何 midi 消息。我尝试安装Midi Ox来监控 midi 信号,但它似乎没有显示我的虚拟 midi 端口,而且似乎没有 midi 活动,尽管我的所有 Unity 代码运行良好。Unity 游戏实际上是在播放我加载的 midi 文件,所以我知道我的 Unity 代码运行正常,但我似乎无法正确配置虚拟 midi 端口。
有谁知道我可能做错了什么?谢谢!
解决方案
推荐阅读
- .net-core - 在 Linux 上使用 Mono 运行已编译的 F# 程序
- oracle - 循环,异常,光标
- storybook - 如何在汇总包中最好地包含 scss 文件中引用的资产(图像和字体)
- java - 带有 PageRequest 的 nativeQuery 参数
- c++ - c++计算物理学中的导数计算错误
- npm - NPM install @latest 不安装最新版本的包
- python - Python:刷新输入上方的打印行
- laravel - 来自电子邮件的 Laravel 验证导致无限重定向
- android - 创建具有负边框半径的按钮并在 Flutter 中对齐它们
- symfony - 如何在不删除 OneToMany 关联中的子级的情况下删除父级是 Symfony 5.0.5