24小时热门版块排行榜    

查看: 575  |  回复: 0

wangjing1377

金虫 (小有名气)

[求助] Java中添加音频文件 总是出错

package com.test2;
import java.io.*;
//import javax.sound.sampled.*;

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 TestAudio {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //1.先创建一个AePlayWave对象实例
                AePlayWave apw = new AePlayWave("d:\\111.wav\\";

                //2.启动该线程并播放
                apw.start();
        }
}
//播放声音的类
class AePlayWave extends Thread {
        private String filename;
        public AePlayWave(String wavfile) {
                filename = 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[1024];
                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();
                }
        }
}



javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
        at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
        at com.test2.AePlayWave.run(TestAudio.java:32)
回复此楼
加油
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangjing1377 的主题更新
信息提示
请填处理意见