Frage

Ich habe Probleme, das Instrument in das Paket von Javax.Sound.midi festzulegen.

Synthesizer synthesizer = MidiSystem.getSynthesizer();
MidiChannel[] channels = synthesizer.getChannels();

channels[0].programChange(5);
System.out.println(channels[0].getProgram());

Von dem Dokumentation Auf Midichannel sollte die Aufrufe von Kanälen [0] .Programchange (int) in das Instrument ändern, dass das Midichannel auf Kanäle eingestellt und sofort in Kanälen reflektiert wird [0] .getProgram (). Mein Programm druckt jedoch "0" und zeigt an, dass nichts geändert hat.

Später im Code verwende ich Midichannel.getSequenCer (), um MIDI Sound erfolgreich zu spielen (wenn auch nur mit dem Standardinstrument.)

Versuche ich, das Instrument falsch einzustellen?

War es hilfreich?

Lösung

Ich bin auf das gleiche Problem gestoßen wie Sie, obwohl wir nicht genau dieselbe Implementierung verwenden, um MIDI -Nachrichten zu machen, wenn wir meine Frage gerne ansehen, da sie für Sie möglicherweise von Nutzen ist:

Wechseln Sie das Instrument in Java während der Wiedergabe

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top