在Java中访问声卡或操作系统合成器设备

发布于 2024-07-11 21:53:45 字数 1542 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

划一舟意中人 2024-07-18 21:53:45

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

I don't believe java lets you specify which installed synthesizer to use. The API usually only provides one device per type (synth, transmitter, etc), so you're going to get the default. I suspect the java API, under windows, is actually using whichever one is specified in the control panel as your default MIDI device.

草莓酥 2024-07-18 21:53:45

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

编辑:在 Java 1.5 及以上版本中,大多数操作系统 Midi 设备都显示为可以使用 MidiSystem.getMidiDeviceInfo()MidiSystem.getMididevice() 访问的设备代码>.

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

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

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

Frinika can do this so it may hold the answer.

Edit: In Java 1.5 upwards, most OS Midi devices turn up as devices that can be accessed using MidiSystem.getMidiDeviceInfo() and MidiSystem.getMididevice().

According to the midi FAQ, there is no good way of accessing the sound card Midi device as a Synthesizer because of problems with writing custom drivers for each sound card, and getting info back from hardware for which there is no Midi standard.

However hardware synthesizer will typically show up as a MidiDevice to which events can be sent. (http://www.jsresources.org/faq_midi.html#use_hw_synth).

Thanks to Arcane for pointing me in the right direction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文