簡體   English   中英

WAV文件arrayList。 為什么這條線不起作用? 爪哇

[英]Wav file arrayList. Why does this line not work? Java

我有一個字符串arraylist,該列表一個接一個地遍歷,它應該播放wav文件。

在這一行上“ AudioInputStream ais = AudioSystem.getAudioInputStream(music(x));” 音樂無法識別,它指出“找不到符號”。 同樣(music.get(x))不起作用。 然后在整行下划線標明其不適用。 我需要做什么? 謝謝。

    String trackName;

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

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


      try{

            AudioInputStream ais = AudioSystem.getAudioInputStream(music(x));
            trackName = "The Current Track is " + music.get(x);
            System.out.println(trackName);
            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(); //wait for the buffer to empty before closing the line
        line.close();

            } 
      catch (Exception e) {

            e.printStackTrace();

            }
    }   
}

嘗試更改您的行:

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

至:

AudioInputStream ais = AudioSystem.getAudioInputStream(new File(music.get(x)));

AudioSystem不會將字符串作為參數來獲取音頻輸入流。 它采用了我上面演示的InputStreamURLFile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM