Aus wav-datei lesen und in neue wav-datei speichern

Henry939

Aktives Mitglied
Hallo Freunde der Sonne, ich möchte ein Programm schreiben, daß aus wav-Dateien eine Datensequenz ausliest und diese in eine eigenständige neue wav-Datei speichert. Leider weiß ich nicht so recht, wie ich an das Problem herangehen soll, und brauchbare Beispielcodes finde ich auch nicht. Hätte jemand Tipps für moich zur Umsetzung? Ich wäre sehr dankbar!

Bitte OHNE die Einbeziehung von Thread-Techniken
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Ist dir nicht klar wie du den entsprechenden Ausschnitt bestimmen sollst oder ist dir nicht klar wie du in *.wav-Dateien lesen und schreiben sollst ?
 

Henry939

Aktives Mitglied
Mir ist nicht so recht klar, wie ich in wav-dateien lesen und wie ich sie überhaupt erstellen/schreiben soll.
Ich habe im Internet ein Beispiel gefunden, wie man eine wav-Datei erstellt, allerdings arbeitet dieses mit Threads und allgemein arbeitet es unverständlich:


Java:
import javax.sound.sampled.*;
import java.io.*;
/**
* A sample program is to demonstrate how to record sound in Java
* author: www.codejava.net
*/
public class JavaSoundRecorder {
    // record duration, in milliseconds
    static final long RECORD_TIME = 60000;  // 1 minute
    // path of the wav file
    File wavFile = new File("E:/Test/RecordAudio.wav");
    // format of audio file
    AudioFileFormat.Type fileType = AudioFileFormat.Type.WAVE;
    // the line from which audio data is captured
    TargetDataLine line;
    /**
     * Defines an audio format
     */
    AudioFormat getAudioFormat() {
        float sampleRate = 16000;
        int sampleSizeInBits = 8;
        int channels = 2;
        boolean signed = true;
        boolean bigEndian = true;
        AudioFormat format = new AudioFormat(sampleRate, sampleSizeInBits,
                                             channels, signed, bigEndian);
        return format;
    }
    /**
     * Captures the sound and record into a WAV file
     */
    void start() {
        try {
            AudioFormat format = getAudioFormat();
            DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
            // checks if system supports the data line
            if (!AudioSystem.isLineSupported(info)) {
                System.out.println("Line not supported");
                System.exit(0);
            }
            line = (TargetDataLine) AudioSystem.getLine(info);
            line.open(format);
            line.start();   // start capturing
            System.out.println("Start capturing...");
            AudioInputStream ais = new AudioInputStream(line);
            System.out.println("Start recording...");
            // start recording
            AudioSystem.write(ais, fileType, wavFile);
        } catch (LineUnavailableException ex) {
            ex.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
    /**
     * Closes the target data line to finish capturing and recording
     */
    void finish() {
        line.stop();
        line.close();
        System.out.println("Finished");
    }
    /**
     * Entry to run the program
     */
    public static void main(String[] args) {
        final JavaSoundRecorder recorder = new JavaSoundRecorder();
        // creates a new thread that waits for a specified
        // of time before stopping
        Thread stopper = new Thread(new Runnable() {
            public void run() {
                try {
                    Thread.sleep(RECORD_TIME);
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
                recorder.finish();
            }
        });
        stopper.start();
        // start recording
        recorder.start();
    }
}

DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
Lese ich das richtig oder bindet er hier eine ausführbare Klassendatei ein?

Thread stopper = new Thread(new Runnable() {
Runnable ist ein Interface, wie kann man von einem Interface ein Objekt erzeugen?
 
Zuletzt bearbeitet von einem Moderator:

Thallius

Top Contributor
Ehrlich gesagt ist das nicht wirklich unverständlich sondern sogar ziemlich einfach. Allerdings wird hier auch keine .wav datei gelesen sondern geschrieben. Was Du willst ist ja ganz was anderes.
Warum liest du nicht einfach mal was einführendes statt dir irgendwelchen Code aus dem Internet zu suchen den du eh nicht verstehst?

http://www.labbookpages.co.uk/audio/javaWavFiles.html

Gruß

Claus
 

Henry939

Aktives Mitglied
Mir war klar, daß das Beispiel eine wav-Datei aufnimmt. Nur diese beiden Codezeilen waren mir unverständlich. Könntest du sie mir nochmal erläutern?

In deiner Beispielwebseite gibt es das Problem, daß dort Klassen (WavFile) eingebunden werden, die Java garnicht kennt.
 
Zuletzt bearbeitet:

tommysenf

Top Contributor
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
Lese ich das richtig oder bindet er hier eine ausführbare Klassendatei ein?

Nein er übergibt eine Typinformation

Thread stopper = new Thread(new Runnable() {
Runnable ist ein Interface, wie kann man von einem Interface ein Objekt erzeugen?

Schau dir anonyme Klassen an:
https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html


In deiner Beispielwebseite gibt es das Problem, daß dort Klassen (WavFile) eingebunden werden, die Java garnicht kennt.
Deswegen gibt es ja auch einen Download Button auf der Seite
 

Thallius

Top Contributor
Wie ich bereits sagte. Lesen bildet. Wenn Du keine Lust dazu hast dann kann ich auch nicht helfen.... Auf der Seite stehen alle notwendigen Infos aber nur das Kopieren des Codes bringt dir da genau so wenig wie überall anders auch... Ich bin dann raus.
 

Henry939

Aktives Mitglied
"Nein er übergibt eine Typinformation"
Aber warum ist die Typdefinition eine class-Datei? Das Wort "class" wird sogar farbig makiert, und mir wurde auch beigebracht, dass sich Namen und Bezeichner niemals aus Schlüsselwörtern zusammensetzen dürfen: Ich verstehe das nicht :(

Das mit dem Download habe ich später noch bemerkt, das funktioniert auch alles, aber nur fehlerhaft in der Programmausführung.
 

Joose

Top Contributor
Aber warum ist die Typdefinition eine class-Datei?
Weil es sich hierbei nicht um eine class-Datei handelt sondern eben eine Typeinformation.

Das Wort "class" wird sogar farbig makiert, und mir wurde auch beigebracht, dass sich Namen und Bezeichner niemals aus Schlüsselwörtern zusammensetzen dürfen: Ich verstehe das nicht :(
Nein das sollte man vermeiden, aber eine Zusammensetzung aus mehreren Schlüsselwörtern ist nicht verboten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
G Excle datei aus resources folder finden und lesen Java Basics - Anfänger-Themen 5
J Datei aus Projektfolder lesen Java Basics - Anfänger-Themen 12
B Aus Datei lesen Java Basics - Anfänger-Themen 23
B Aus Datei lesen Java Basics - Anfänger-Themen 0
C Input/Output Datei aus Startverzeichnis lesen Java Basics - Anfänger-Themen 6
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
MaxG. Input/Output Datei lesen Java Basics - Anfänger-Themen 3
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
J Aus Datei lesen und ausgeben Java Basics - Anfänger-Themen 4
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
G Datei zeilenweise lesen Java Basics - Anfänger-Themen 19
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
S Compiler-Fehler jOpenDocument Kompelierfehler - ODS Datei lesen Java Basics - Anfänger-Themen 2
T BufferReader soll datei mehrmals lesen Java Basics - Anfänger-Themen 13
S Datei aus JAR lesen. Java Basics - Anfänger-Themen 9
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
M Input/Output Viele short aus Datei lesen und von Little Endian zu Big Endian umwandeln Java Basics - Anfänger-Themen 12
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
S Input/Output aus Datei lesen Java Basics - Anfänger-Themen 6
A Datei relativ zur Lage des jar-files lesen Java Basics - Anfänger-Themen 16
Gossi Input/Output .csv Datei wird beim Lesen bearbeitet? Java Basics - Anfänger-Themen 8
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
E txt Datei schreiben und lesen Java Basics - Anfänger-Themen 9
T Datei über das Netz lesen Java Basics - Anfänger-Themen 2
W Aus Datei lesen Java Basics - Anfänger-Themen 15
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
F Kann RandomAccessFile Zip Datei lesen? Java Basics - Anfänger-Themen 14
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
J UTF8 txt-Datei lesen Java Basics - Anfänger-Themen 13
A Datei Lesen und Schreiben in gleichen Klasse Java Basics - Anfänger-Themen 3
Haubitze_Broese aus einer Datei lesen? Java Basics - Anfänger-Themen 6
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
K aus Datei lesen Java Basics - Anfänger-Themen 3
S Datei lesen Java Basics - Anfänger-Themen 27
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
K Text aus einem Datei lesen , und im JTextArea ausgeben. Java Basics - Anfänger-Themen 3
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
J Problem mit Datei lesen und schreiben Java Basics - Anfänger-Themen 8
M Datei Lesen Und Schreiben! -.- Java Basics - Anfänger-Themen 7
fbn Datei als Ganzes lesen (nicht zeilenweise) Java Basics - Anfänger-Themen 8
M Probleme mit dem Lesen einer m3u-Datei Java Basics - Anfänger-Themen 8
H Datei zeilenweise rückwärts lesen Java Basics - Anfänger-Themen 9
M Delphi-Record mit Java aus Datei lesen Java Basics - Anfänger-Themen 11
R Sequentielle Datei lesen und schreiben Java Basics - Anfänger-Themen 5
G FileInputStream--> Zahlen aus Datei lesen Java Basics - Anfänger-Themen 7
S Aus Datei lesen und im Array speichern Java Basics - Anfänger-Themen 2
J Datei lesen und in Array speichern Java Basics - Anfänger-Themen 5
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
P Teile aus Datei lesen und zus mit Strings in Datei speichern Java Basics - Anfänger-Themen 4
D excel datei Spalten lesen? Java Basics - Anfänger-Themen 7
J Kommandos aus Datei lesen Java Basics - Anfänger-Themen 13
J Datei zeilenweise lesen. Java Basics - Anfänger-Themen 4
S Werte aus Datei lesen und in Variable abspeichern Java Basics - Anfänger-Themen 4
alexpetri Datei in String lesen Java Basics - Anfänger-Themen 6
K XPath werter aus XML-Datei lesen Java Basics - Anfänger-Themen 6
M Datei lesen und Char für Char wiedergeben Java Basics - Anfänger-Themen 28
K Datei öffnen, lesen, bearbeiten, in neuer datei speichern Java Basics - Anfänger-Themen 12
T Zahlen aus einer Datei lesen Java Basics - Anfänger-Themen 3
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
R Objekt aus Datei lesen Java Basics - Anfänger-Themen 5
J Class datei lesen Java Basics - Anfänger-Themen 2
T gezieltes lesen/schreiben in datei Java Basics - Anfänger-Themen 9
D ein File(Datei) lesen und diesen zu einem Hashmap hinfügen? Java Basics - Anfänger-Themen 5
A Datei lesen Java Basics - Anfänger-Themen 12
L Zeile aus Datei lesen Java Basics - Anfänger-Themen 5
S Datei lesen und speichern Java Basics - Anfänger-Themen 8
reibi Datei von hinten lesen Java Basics - Anfänger-Themen 11
G Mehrere Zahlen aus Datei lesen Java Basics - Anfänger-Themen 3
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
H Datei lesen und an bestimmter Stelle schreiben Java Basics - Anfänger-Themen 4
F Aus Byte Datei lesen Java Basics - Anfänger-Themen 4
B String aus Datei lesen + Länge berechnen Java Basics - Anfänger-Themen 2
L Strings von Datei lesen und in TextArea schieben Java Basics - Anfänger-Themen 3
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
S Datei lesen und in array rein Java Basics - Anfänger-Themen 10
tobiasbeil Von Datei byte für byte lesen und in ein Array einfügen. Java Basics - Anfänger-Themen 11
J Datei-Details /-Infos wie Kommentare, Autor lesen/schreiben Java Basics - Anfänger-Themen 2
F Datei lesen Java Basics - Anfänger-Themen 12
S Mit Scanner eine txt Datei lesen Java Basics - Anfänger-Themen 2
A Variablen in eine Datei speichern und lesen Java Basics - Anfänger-Themen 2
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
G aus datei lesen und in liste einfügen Java Basics - Anfänger-Themen 5
B Datei lesen und schreiben Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben