2017-04-04 97 views
0

我知道我以前發佈過類似的問題,但似乎無法對其進行排序。處理/ Java在播放列表中播放WAV

我已經寫了一個程序,它打開一個WAV文件,永遠循環它並顯示一個可視化器,這很好。

我可以選擇具有以下

chooser.setMultiSelectionEnabled(true); 

但是,僅播放第一WAV文件,並保持循環中的很多文件。

我是新來的Java,但我正確的想,所選的WAV文件需要存儲在一個數組,需要分別調用?當我最終將要加載25 WAV文件約30秒長的每個)

用於選擇文件的代碼如下:

JFileChooser chooser = new JFileChooser(); 
chooser.setMultiSelectionEnabled(true); 
chooser.setFileFilter(chooser.getAcceptAllFileFilter()); 
int returnVal = chooser.showOpenDialog(null); 
minim = new Minim(this); 
player = minim.loadFile(chooser.getSelectedFile().getAbsolutePath()); 
player.loop(); 
fft = new FFT(player.bufferSize(), player.sampleRate()); 

同樣,點擊順序選擇的文件是不是現在重要將一個接一個地隨機播放,永遠。

回答

1

您需要使用chooser.getSelectedFiles();

File[] selectedFiles = chooser.getSelectedFiles(); 

然後一個for循環中播放的文件。

現在,如果你想遍歷所有歌曲,那麼你應該有一個上限,而象下面這樣:

int loopTimes = 10; 
while (loopTimes > 0) 
{ 
    for (File file : selectedFiles) 
    { 
     player = minim.loadFile(file.getAbsolutePath()); 
     player.play(); 
    } 

    loopTimes--; 
} 

我不認爲APIMinim::AudioPlayer支持loop()多個文件。