package com.hxzkoa.udp;
|
import java.io.File;
|
import javax.sound.sampled.AudioFormat;
|
import javax.sound.sampled.AudioInputStream;
|
import javax.sound.sampled.AudioSystem;
|
import javax.sound.sampled.DataLine;
|
import javax.sound.sampled.SourceDataLine;
|
/**该类用于调用播放声音文件*/
|
public class Music extends Thread {
|
private String musicName;//音频文件名称
|
|
public Music(String musicName)
|
{
|
this.musicName=musicName;
|
}
|
|
public void run() {
|
|
File name = new File(musicName);
|
AudioInputStream ypsrl = null;
|
try {
|
ypsrl = AudioSystem.getAudioInputStream(name);
|
} catch (Exception e){}
|
|
AudioFormat format = ypsrl.getFormat();
|
SourceDataLine aqsj = null;
|
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
|
|
try {
|
aqsj = (SourceDataLine) AudioSystem.getLine(info);
|
aqsj.open(format);
|
} catch (Exception e){}
|
aqsj.start();
|
|
int zjtj = 0;
|
byte[] hczj = new byte[1024];
|
try {
|
while (zjtj != -1) {
|
zjtj = ypsrl.read(hczj, 0, hczj.length);
|
if (zjtj >= 0)
|
aqsj.write(hczj, 0, zjtj );
|
}
|
} catch (Exception e){}
|
finally {
|
aqsj.drain();//将残留部分处理干净
|
aqsj.close();
|
}
|
}
|
}
|