我正在用java编写游戏,并尝试添加音乐。 我这样做:
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
InputStream midiFile = this.getClass().getResourceAsStream( "/res/Popcorn.mid" );
sequencer.setSequence( MidiSystem.getSequence(midiFile) );
sequencer.start();
问题是,文件不是很小,所以在游戏开始时它的加载。 那么,有没有像定序器监听器那样的东西,所以我可以等到声音加载完毕?
或者,如果没有,有没有办法为我自己编程?
谢谢!
答案 0 :(得分:2)
您必须添加加载。例如:您在新线程中运行主类。例如:
public static void main(String[] args) {
new Thread() {
public void run(){
JFrame ... //frame with game
//now you add text type "Please wait"
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
InputStream midiFile = this.getClass().getResourceAsStream( "/res/Popcorn.mid" );
sequencer.setSequence( MidiSystem.getSequence(midiFile) );
sequencer.start();
//Starting the game here
//You must close this game at end
System.exit(0);
}
}.start();
while(true) { //this is slepping this program
Thread.sleep(4096);
}
抱歉我的英语不好。