JavaでのサウンドカードまたはOSシンセサイザーデバイスへのアクセス[終了]
-
22-07-2019 - |
質問
Java(1.6.0)でSynthesizerデバイスをリストしようとすると、 Java Sound Synthesizer というデバイスが1つしかありません。サウンドカードでSynthesizerを使用するか、インストールされている他のシンセサイザーを使用したい。 Microsoft Synthesizer。どうすればそれを行うことができますか?この機能が組み込まれていない場合、シンセサイザードライバーのフロントエンドとして機能するオープンソースプロジェクトはインストールされていますか?
解決 2
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に感謝します。
他のヒント
javaでは、インストールされているシンセサイザーを使用するように指定できるとは思わない。 APIは通常、タイプ(シンセ、トランスミッタなど)ごとに1つのデバイスのみを提供するため、デフォルトを取得します。私は、WindowsのJava APIが、コントロールパネルでデフォルトのMIDIデバイスとして指定されているものを実際に使用しているのではないかと考えています。