我无法编译代码,我甚至从github复制代码,这是
import javax.sound.midi.*;
public class MiniMusicPlayer1 {
public static void main(String[] args) {
try {
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
for(int i = 5; i < 61; i += 4) {
track.add(makeEvent(144,1,i,100,i));
track.add(makeEvent(128,1,i,100,i + 2));
}
sequencer.setSequence(seq);
sequencer.setTempoInBPM(220);
sequencer.start();
} catch(Exception ex) {
ex.printStackTrace();
}
}
public static MidiEvent makeEvent(int comd, int chan, int one, int two, int tick) {
MidiEvent event = null;
try {
ShortMessage a = new ShortMessage();
a.setMessage(comd, chan, one, two);
event = new MidiEvent(a, tick);
} catch(Exception e) {
}
return event;
}
}
我输入javac MiniMusicPlayer1.java
,它给了我一些错误,都与midievent有关。第一个错误说Midievent.java:1错误:类...预期。
我看到的主要错误是
“无法访问Midievent ...错误的源文件。\ MidiEvent.java .....文件不包含类MidiEvent ....请删除或确保它出现在sourcepath的正确子目录中
问题是什么?我读了其他人使用相同的代码没有问题
答案 0 :(得分:1)
除非您在其他地方定义了MidiEvent类,否则此代码将无法编译,因为它需要MidiEvent类。
根据错误消息,看起来你有一个MidiEvent.java
文件,但java编译器无法在其中找到类MidiEvent
,因为文件格式不正确,或者文件命名错误。
答案 1 :(得分:1)
确保名称其他源文件(MidiEvent.java
)的大小写以及其中类的名称(Midievent
,似乎)的大小写是相同的。