从my failed attempt to run a VST instrument from inside Unity开始,我的新方法是将Midi消息从Unity发送到外部主机。
为此,我一直在尝试遵循this approach:
写一些代码,即:
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信号,但是尽管我的所有Unity代码都运行良好,但它似乎没有显示我的虚拟Midi端口,并且似乎没有Midi活动。 Unity游戏实际上正在播放我已加载的midi文件,所以我知道我的Unity代码运行正常,只是似乎无法正确配置虚拟midi端口。
有人知道我在做什么错吗?谢谢!