📄 sound.java
字号:
package com.sato.accp.game.jigsaw;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.net.MalformedURLException;
public class Sound {
/*
*播放移动的声音
*/
public static void playMove() {
play("sound/move.wav");
}
/*
*播放错误的声音
*/
public static void playError() {
play("sound/error.wav");
}
/*
*播放成功的声音
*/
public static void playSuccess() {
play("sound/success.wav");
}
/*
*播放指定位置的声音文件
*/
private static void play(String url) {
try {
//获取连接文件的输入流
AudioInputStream stream = AudioSystem.getAudioInputStream(new File(
url));
//编码
AudioFormat format = stream.getFormat();
//获取Clip
DataLine.Info info = new DataLine.Info(
Clip.class, stream.getFormat(),
((int) stream.getFrameLength() * format.getFrameSize()));
Clip clip = (Clip) AudioSystem.getLine(info);
// 将文件的数据完全载入
clip.open(stream);
// 开始播放
clip.start();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -