Я пытаюсь подключить клавиатуру PSR-A3000 для воспроизведения некоторых миди-файлов с компьютера. Когда я запускаю код:
import java.io.File;
import java.io.IOException;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.Sequence;
public class jFugeFilePlayer {
public static void main(String args[]) {
DeviceThatWillReceiveMidi device = null;
device = new DeviceThatWillReceiveMidi(); // handle MIDI Unavailable Exception
Sequence sequence = null;
try {
sequence = MidiSystem.getSequence(new File("/Users/path.../baharanMelody.midi"));
} catch (InvalidMidiDataException e) {
// handle Invalid MIDI Data Exception
} catch (IOException e) {
// handle IO Exception
e.printStackTrace();
}
device.setSequence(sequence);
}
}
Я вижу, что у поста есть подобная проблема, и я не могу пойти дальше другого исключения на "device.sendSequence".
JFugue 5 внешнее миди-устройство
Я получаю ошибку:
Building renderMidi 1.0-SNAPSHOT
------------------------------------------------------------------------
--- exec-maven-plugin:1.5.0:exec (default-cli) @ renderMidi ---
Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet.
at DeviceThatWillReceiveMidi.setSequence(DeviceThatWillReceiveMidi.java:17)
at jFugeFilePlayer.main(jFugeFilePlayer.java:34)
Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:764)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:711)
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:289)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
------------------------------------------------------------------------
BUILD FAILURE
Я пробовал javaxsound.midi.MidiSystem, и это подтверждает, что мои устройства работают правильно. Я добавил трассировку стека, чтобы посмотреть, смогу ли я помочь.
Любые идеи о том, что я делаю не так, пожалуйста?
Любая помощь будет принята с благодарностью.
CS