elevatormusic.java
来自「用java模拟的电梯程序,可以选择有几层楼,一共有几个人在哪几层等电梯,可以不断」· Java 代码 · 共 72 行
JAVA
72 行
package com.Anance.elevator.view;
import java.io.*;
import java.net.*;
import javax.sound.midi.*;
public class ElevatorMusic implements MetaEventListener {
private Sequencer sequencer;
private boolean endOfMusic;
private String fileName;
private Sequence soundSequence;
public ElevatorMusic( String file )
{
try {
sequencer = MidiSystem.getSequencer();
sequencer.addMetaEventListener( this );
fileName = file;
}
catch ( MidiUnavailableException midiException ) {
midiException.printStackTrace();
}
}
public boolean open()
{
try {
URL url = getClass().getResource( fileName );
soundSequence = MidiSystem.getSequence ( url );
sequencer.open();
sequencer.setSequence( soundSequence );
}
catch ( NullPointerException nullPointerException ) {
nullPointerException.printStackTrace();
return false;
}
catch ( InvalidMidiDataException midiException ) {
midiException.printStackTrace();
soundSequence = null;
return false;
}
catch ( java.io.IOException ioException ) {
ioException.printStackTrace();
soundSequence = null;
return false;
}
catch ( MidiUnavailableException midiException ) {
midiException.printStackTrace();
return false;
}
return true;
}
public void play()
{
sequencer.start();
endOfMusic = false;
}
public Sequencer getSequencer()
{
return sequencer;
}
public void meta( MetaMessage message )
{
if ( message.getType() == 47 ) {
endOfMusic = true;
sequencer.stop();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?