java播放.wav为什么没有反应啊?求大神给解惑。。。

yls_2523168510 yls_2523168510 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
package thread.audio;

import java.io.*;
import javax.sound.sampled.*;
public class Play {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
AudioPlay appAudioPlay=new AudioPlay(
"D:\\Download\\Misc\\Sound\\Classic\\Audio.wav");
appAudioPlay.start();
}

}
class AudioPlay extends Thread
{
String filename;
public AudioPlay(String URL_file)
{
this.filename=URL_file;
}
public void run()
{
File file=new File(filename);
AudioInputStream audioInputStream=null;
try {
audioInputStream=AudioSystem.getAudioInputStream(file);
} catch (UnsupportedAudioFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
AudioFormat aFormat=audioInputStream.getFormat();
SourceDataLine aDataLine=null;

try
{
DataLine.Info info=new DataLine.Info(SourceDataLine.class, aFormat);
aDataLine=(SourceDataLine)AudioSystem.getLine(info);
aDataLine.open(aFormat);
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
aDataLine.start();
int read_Audio=0;
byte[] bytes=new byte[512];
try {
while(read_Audio!=-1)
{
read_Audio=audioInputStream.read(bytes, 0,read_Audio);
if(read_Audio>=0)
aDataLine.write(bytes, 0, read_Audio);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return;
}finally{
aDataLine.drain();
aDataLine.close();
}
}
}
...全文
评论 4
收藏 已收藏
分享
返回顶部
yls_2523168510
Java SE 62,620 成员 307,251 内容