📄 midmusic.java
字号:
package hannoi;
import javax.sound.midi.*;
import java.io.*;
public class MidMusic { //mid音乐类
static Sequencer sequencer;
private String songPath;
private byte[] data;
public MidMusic(String songPath) {
this.songPath = songPath;
InputStream resIn = getClass().getResourceAsStream(songPath);
try {
ByteArrayOutputStream out = new ByteArrayOutputStream(resIn.
available());
byte[] buf = new byte[10000];
int bytes;
while ((bytes = resIn.read(buf)) != -1) {
out.write(buf, 0, bytes);
}
resIn.close();
out.close();
data = out.toByteArray();
} catch (IOException e2) {
e2.printStackTrace();
}
try {
sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.setLoopCount( -1); //设置播放的次数为无限循环
try {
sequencer.setSequence(new ByteArrayInputStream(data));
sequencer.start();
} catch (IOException e1) {
e1.printStackTrace();
} catch (InvalidMidiDataException e1) {
e1.printStackTrace();
}
} catch (MidiUnavailableException e) {
e.printStackTrace();
}
}
public static void cut() { //暂停函数
sequencer.stop();
}
public static void play() { //继续播放函数
sequencer.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -