📄 elevatormusic.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -