Método de interfaz, compatible con reproducción de audio en formato wav, mid, au
package com.np.serialPort.door.service;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.springframework.core.io.ClassPathResource;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
@SuppressWarnings("restriction")
public class GateDoorAudio {
private static AudioStream audioStream=null;
public static void audioStart(String wav) {
System.out.println("当前是否正在播放:"+audioStream);
if(audioStream!=null) {
AudioPlayer.player.stop(audioStream);
}
new Thread(new Runnable() {
@Override
public void run() {
try {
// 创建音乐文件输入流对象
ClassPathResource classPathResource = new ClassPathResource("/wav/sounds/" + wav);
InputStream in;
try {
in = classPathResource.getInputStream();
// 创建音频流对象
audioStream = new AudioStream(in);
// 使用音频播放器播放声音
AudioPlayer.player.start(audioStream);
Thread.sleep(2000l);
// AudioPlayer.player.stop(audioStream);
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();;
}
}
Luego escribe una prueba
@RequestMapping("/1231")
public String voicee() {
GateDoorAudio.audioStart("warningTone/T1.wav");
return "success";
}