//播放声音的类 |
public class PlaySounds extends Thread { |
|
private String filename; |
public PlaySounds(String wavfile) { |
|
filename = System.getProperty( "user.dir" )+wavfile; |
} |
public void run() { |
|
File soundFile = new File(filename); |
|
AudioInputStream audioInputStream = null ; |
try { |
audioInputStream = AudioSystem.getAudioInputStream(soundFile); |
} catch (Exception e1) { |
e1.printStackTrace(); |
return ; |
} |
|
AudioFormat format = audioInputStream.getFormat(); |
SourceDataLine auline = null ; |
DataLine.Info info = new DataLine.Info(SourceDataLine. class , format); |
|
try { |
auline = (SourceDataLine) AudioSystem.getLine(info); |
auline.open(format); |
} catch (Exception e) { |
e.printStackTrace(); |
return ; |
} |
|
auline.start(); |
int nBytesRead = 0 ; |
//这是缓冲 |
byte [] abData = new byte [ 512 ]; |
|
try { |
while (nBytesRead != - 1 ) { |
nBytesRead = audioInputStream.read(abData, 0 , abData.length); |
if (nBytesRead >= 0 ) |
auline.write(abData, 0 , nBytesRead); |
} |
} catch (IOException e) { |
e.printStackTrace(); |
return ; |
} finally { |
auline.drain(); |
auline.close(); |
} |
|
} |
} |
初级程序员
by: 云代码会员 发表于:2015-01-20 20:04:12 顶(0) | 踩(0) 回复
这个也有用、留着看看
回复评论