为什么这个ArrayList不能用于Wav文件? (Java)的

时间:2013-04-12 18:36:05

标签: java arraylist wav

我正在尝试创建代码以将wav文件放入数组列表,然后让arraylist播放文件。为什么这段代码不起作用?感谢。

public class trackList {

    public void tracklist(){

        ArrayList<String> songs = new ArrayList();
        songs.add("c:\\01.wav");
        songs.add("c:\\02.wav");

        byte[] buffer = new byte[4096];
        for(int x = 0; x < songs.size(); x++){

          try{

                AudioInputStream ais = AudioSystem.getAudioInputStream(songs(x));
                AudioFormat format = ais.getFormat();
                SourceDataLine line = AudioSystem.getSourceDataLine(format);
                line.open(format);
                line.start();

          while (ais.available() > 0) {

                int len = ais.read(buffer);
                line.write(buffer, 0, len);

               }

            line.drain(); 
            line.close();

                } 
          catch (Exception e) {

                e.printStackTrace();

                }
        }                       
    } 
}

1 个答案:

答案 0 :(得分:6)

不是Java专家,但可能就行:

AudioInputStream ais = AudioSystem.getAudioInputStream(songs(x));

必须

AudioInputStream ais = AudioSystem.getAudioInputStream(songs.get(x));