Java (1.6.0) で Synthesizer デバイスを一覧表示しようとすると、Java Sound Synthesizerというデバイスが 1 つしか表示されません。サウンドカードでシンセサイザーを使用したい、またはインストールされている他のシンセサイザーを使用したい。マイクロソフト シンセサイザー。どうすればそれを行うことができますか?この機能が組み込まれていない場合、インストールされているシンセサイザー ドライバーのフロント エンドとして機能するオープン ソース プロジェクトはありますか?
2 に答える
インストールされているどのシンセサイザーを使用するかを Java で指定できるとは思えません。API は通常、タイプ (シンセ、送信機など) ごとに 1 つのデバイスのみを提供するため、デフォルトを取得します。Windows の Java API は、コントロール パネルでデフォルトの MIDI デバイスとして指定されているものを実際に使用していると思われます。
Frinika はこれを行うことができるので、答えが保持される可能性があります。
編集:Java 1.5以降では、ほとんどのOS Midiデバイスは、およびを使用してアクセスできるデバイスとして表示されMidiSystem.getMidiDeviceInfo()
ますMidiSystem.getMididevice()
。
midi FAQ によると、各サウンド カードのカスタム ドライバを作成する際の問題や、Midi 標準のないハードウェアから情報を取得する際の問題により、サウンド カード Midi デバイスにシンセサイザーとしてアクセスする良い方法はありません。
ただし、ハードウェア シンセサイザーは通常、イベントを送信できる MidiDevice として表示されます。( http://www.jsresources.org/faq_midi.html#use_hw_synth )。
正しい方向に向けてくれた Arcane に感謝します。