0

コードをコンパイルできませんでした。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 error: class...expected と表示されます。

私が見る主なエラーは

「Midievent にアクセスできません...不正なソース ファイルです。\MidiEvent.java.....ファイルにクラス MidiEvent が含まれていません...削除するか、ソースパスの正しいサブディレクトリにあることを確認してください

問題は何でしょうか?問題なく同じコードを使用している他の人を読みました

4

2 に答える 2

1

クラス MidiEvent が別の場所で定義されていない限り、MidiEvent クラスが必要なため、このコードはコンパイルされません。

エラー メッセージに基づいて、ファイルがあるように見えますが、ファイルの形式が正しくないか、ファイルの名前が間違っているためMidiEvent.java、Java コンパイラはその中のクラスを見つけることができません。MidiEvent

于 2013-10-18T22:00:49.210 に答える
1

他のソースファイルの名前のMidiEvent.java大文字化 ( ) とその中のクラスの名前の大文字化 (Midieventらしい) が同じであることを確認してください。

于 2013-10-18T22:02:05.187 に答える