1

当我尝试在 Java (1.6.0) 中列出 Synthesizer 设备时,我只得到一个设备Java Sound Synthesizer。我想在声卡中使用合成器或使用任何其他已安装的合成器,例如。微软合成器。我该怎么做呢?如果此功能不是内置的,是否有任何开源项目充当前端来安装合成器驱动程序?

4

2 回答 2

1

我不相信 java 让你指定使用哪个已安装的合成器。API 通常只为每种类型(合成器、发射器等)提供一个设备,因此您将获得默认值。我怀疑windows下的java API实际上正在使用控制面板中指定的任何一个作为默认MIDI设备。

于 2009-01-14T23:31:30.220 回答
1

Frinika 可以做到这一点,因此它可能会掌握答案。

编辑:在 Java 1.5 及更高版本中,大多数 OS Midi 设备都显示为可以使用MidiSystem.getMidiDeviceInfo()和访问的设备MidiSystem.getMididevice()

根据 midi 常见问题解答,由于为每个声卡编写自定义驱动程序以及从没有 Midi 标准的硬件获取信息存在问题,因此没有将声卡 Midi 设备作为合成器访问的好方法。

然而,硬件合成器通常会显示为可以向其发送事件的 MidiDevice。(http://www.jsresources.org/faq_midi.html#use_hw_synth)。

感谢奥术为我指明了正确的方向。

于 2009-02-24T17:59:49.320 回答