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(); } } }