Ich arbeite an einer einfachen Anwendung, die die Möglichkeit benötigt, alle .wav-Dateien in einem bestimmten Verzeichnis (/ audiofiles) einzulesen und dann zu verketten. Ich habe Arbeitscode, der die Namen aller Dateien im Verzeichnis abruft und sie an die Konsole ausgibt, und Code, der eine Liste der angegebenen Dateien verkettet. Wenn ich jedoch versuche, die beiden Funktionen zu kombinieren, wird in Zeile 29 eine "NullPointerException" zurückgegeben Ideen?
Bisher:-
Bisher:-
Java:
import java.util.*;
import java.io.*;
import javax.sound.sampled.*;
public class getconc_1 {
public static void main(String[] args) {
// get list of file names from audio directory
File audDir = new File("/audiofiles");
//define a list to contain the audio files names and path
File[] filesList = audDir.listFiles();
// assign contents of each wav file from filesList to a string
String wavFile1 = filesList.get(0);
String wavFile2 = filesList.get(1);
// read the string from the audio file into an AudioInputStream, and concatenate
try {
AudioInputStream clip1 = AudioSystem.getAudioInputStream(new File(wavFile1));
AudioInputStream clip2 = AudioSystem.getAudioInputStream(new File(wavFile2));
AudioInputStream appendedFiles =
new AudioInputStream(
new SequenceInputStream(clip1, clip2),
clip1.getFormat(),
clip1.getFrameLength() + clip2.getFrameLength());
AudioSystem.write(appendedFiles,
AudioFileFormat.Type.WAVE,
new File("wavAppended.wav"));
} catch (Exception e) {
e.printStackTrace();
}
}
}