Verkettung von Audiodateien

diddle para

Mitglied
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:-

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();
     }
}

}
 

diddle para

Mitglied
jdb gibt mir folgendes:-

Code:
run getconc_1f
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: java.lang.NullPointerException
    at getconc_1f.main(getconc_1f.java:29)

Bei mir Zeile 29 ist:-

Java:
 for (File file:filesList ) {
 

diddle para

Mitglied
Bitte entschuldigung - als ich den code kopiert habe hat es leider einen teil verpasst:-

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          



          // read the string from the audio file into an AudioInputStream, and concatenate

            try {

                long length = 0;
                AudioInputStream clip = null;
                List<AudioInputStream> list = new ArrayList<AudioInputStream>();

                for (File file:filesList ) {
                    clip = AudioSystem.getAudioInputStream(new File(file.getPath()));
                    list.add(clip);
                    length += clip.getFrameLength();

                }
            if(length>0 && list.size()>0 && clip!=null) {

               AudioInputStream appendedFiles =
                        new AudioInputStream(
                            new SequenceInputStream(Collections.enumeration(list)),
                                clip.getFormat(),
                                length);

              AudioSystem.write(appendedFiles,
                        AudioFileFormat.Type.WAVE,
                        new File("wavAppended12.wav"));
      }
    } catch (Exception e) {
        e.printStackTrace();
     }
}

}
 

mrBrown

Super-Moderator
Mitarbeiter
Wahrscheinlich gibt es den Ordner /audiofiles nicht. Der Slash zu Beginn bedeutet, dass der Ordner direkt unterhalb der Wurzel liegt.
Vermutlich meinst du einen Ordner im aktuellen Verzeichnis? dann würde audiofiles reichen
 

Neue Themen


Oben