当前位置:编程学习 > JAVA >>

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

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();
}
}
}
--------------------编程问答--------------------  FileInputStream fileau=new FileInputStream("D:/01.mid" );
   AudioStream as=new AudioStream(fileau);
   AudioPlayer.player.start(as);

改成这样试试 --------------------编程问答-------------------- AudioStream 应该引入那个包? --------------------编程问答-------------------- 是文件路径有问题吧.

没有错误信息么? --------------------编程问答--------------------
学习啦
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,