bei abspielen der wav datei fehler

Status
Nicht offen für weitere Antworten.

Nao88

Bekanntes Mitglied
sooo ich schaffe es nicht die sound datei (wav) ganz abzupielen.
nach einer weile knistert der sound und danach wierd eine fehla meldung ausgegeben

Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Unknown Source)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
at Soundspielen.<init>(Soundspielen.java:17)
at Hauptklasse.main(Hauptklasse.java:5)
Java:
import javax.sound.sampled.*;
import java.io.*;
 
public class Soundspielen {
    
    public Soundspielen() {
         try{
             AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("C:/alert.wav"));
             AudioFormat af= audioInputStream.getFormat();
             int size= (int) (af.getFrameSize() * audioInputStream.getFrameLength());
             byte[] audio= new byte[size];
             DataLine.Info info= new DataLine.Info(Clip.class, af, size);
             audioInputStream.read(audio, 0, size);
             
             for(int i=0; i < 4000; i++) {
                 Clip clip = (Clip) AudioSystem.getLine(info);
                 clip.open(af, audio, 0, size);
                 clip.start();
             }
         }catch(Exception e){ e.printStackTrace(); }
         
     }
    
    }

nachtrag ;
das ein fehler ausgegeben wird liegt an der hohen durchlaufzahl der for schliefe
aber wenn ich nicht habe dan komm nur ein sehr kurzer ton und mehr nicht von unfefähr 30 sek :eek:
 
Zuletzt bearbeitet:

Nao88

Bekanntes Mitglied
Java:
import javax.sound.sampled.*;
import java.io.*;
 
public class Soundspielen {
    
    public Soundspielen() {
         try{
             AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("C:/alert.wav"));
             AudioFormat af= audioInputStream.getFormat();
             int size= (int) (af.getFrameSize() * audioInputStream.getFrameLength());
             byte[] audio= new byte[size];
             DataLine.Info info= new DataLine.Info(Clip.class, af, size);
             audioInputStream.read(audio, 0, size);
             
            
                 Clip clip = (Clip) AudioSystem.getLine(info);
                 clip.open(af, audio, 0, size);
                 clip.start();
             
         }catch(Exception e){ e.printStackTrace(); }
         
     }
    
    }
wenn ich die for schleife entferne dann wird sie nur eine milli sekunde angespielt (deswegen war auch die for schleife da) ich das ein buffed reader fehlt aber ich weiß nicht genau wo :oops:
 

Nao88

Bekanntes Mitglied
jaaa das ist aber ein applet und das andere spielt mid datein ab also leider nicht zu gebrauchen
und ich will den fehler berichtigt haben denn ich stehe da gerade vor einer wand:(:(:(:(:(
 

Steev

Bekanntes Mitglied
Diese Variante funktioniert nicht nur in Applets sondern generell.

Hier mal eine Variante, die (bei mir) funktioniert.

[Java]import java.io.*;
import javax.sound.sampled.*;

public class AudioPlayer
{
private static void playSampleFile(String name, float pan, float gain) throws Exception
{
// AudioInputStream öffnen
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(name));
AudioFormat format = ais.getFormat();

// ALAW/ULAW samples in PCM konvertieren
if ((format.getEncoding() == AudioFormat.Encoding.ULAW) ||
(format.getEncoding() == AudioFormat.Encoding.ALAW))
{
AudioFormat tmp = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
format.getSampleRate(),
format.getSampleSizeInBits() * 2,
format.getChannels(),
format.getFrameSize() * 2,
format.getFrameRate(),
true
);
ais = AudioSystem.getAudioInputStream(tmp, ais);
format = tmp;
}

// Clip erzeugen und öffnen
DataLine.Info info = new DataLine.Info(
Clip.class,
format,
((int) ais.getFrameLength() * format.getFrameSize())
);
Clip clip = (Clip)AudioSystem.getLine(info);
clip.open(ais);

// PAN einstellen
FloatControl panControl = (FloatControl)clip.getControl(
FloatControl.Type.PAN
);
panControl.setValue(pan);

// MASTER_GAIN einstellen
FloatControl gainControl = (FloatControl)clip.getControl(
FloatControl.Type.MASTER_GAIN
);
gainControl.setValue(gain);

// Clip abspielen
clip.start();
while (true) {
try {
Thread.sleep(100);
} catch (Exception e) {
// nothing
}
if (!clip.isRunning()) {
break;
}
}
clip.stop();
clip.close();
}

public static void main(String[] args)
{
try {
playSampleFile(
args[0],
Float.parseFloat(args[1]),
Float.parseFloat(args[2])
);
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
System.exit(0);
}
}[/Java]

Ich hoffe dir hilft dieses Beispiel weiter.

Der Fehler bei dir kommt, weil du in deiner Schleife pro Durchlauf ein neues Objekt + Thread erstellst.
 

Nao88

Bekanntes Mitglied
wie kann ich ihn den beheben ??? besser wie schffe ich es das er einen song apspielt
 

Steev

Bekanntes Mitglied
Du schaffst es einen Sound abzuspielen indem du entweder die Variante aus der Insel oder die Methode die ich gepostet habe verwendest.

Deine Methode würde funktionieren, wenn du folgende Änderungen vornimmst:

[Java]import java.io.File;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;

public class Soundspielen {
public Soundspielen(File audiofile) {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(audiofile);
AudioFormat af = audioInputStream.getFormat();
int size = (int) (af.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte[size];
DataLine.Info info = new DataLine.Info(Clip.class, af, size);
audioInputStream.read(audio, 0, size);

Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(af, audio, 0, size);

// Clip abspielen
clip.start();

// Warten bis der Clip beendet wurde
while (true) {
try {
Thread.sleep(100);
} catch (Exception e) {
// nothing
}
if (!clip.isRunning()) {
break;
}
}
clip.stop();
clip.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
File audiofile = new File("C:\\alert.wav");
new Soundspielen(audiofile);
}
}[/Java]

Ich würde für das Abspielen von Sounds allerdings eine evtl. statische Methode nehmen und nicht für das Abspielen eines Sounds ein neues Objekt erzeugen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P .Wav Datei vor main-Methode abspielen? Spiele- und Multimedia-Programmierung 9
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
H wma Datei abspielen: java.io.IOException: Resetting to invalid mark Spiele- und Multimedia-Programmierung 11
A wav datei aus jar Abspielen Spiele- und Multimedia-Programmierung 7
R Wave-Datei mit JLayer abspielen Spiele- und Multimedia-Programmierung 4
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
S AAC abspielen Spiele- und Multimedia-Programmierung 9
S Sounds abspielen Spiele- und Multimedia-Programmierung 11
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
K Sound im loop abspielen, wenn boolscher wert true ist Spiele- und Multimedia-Programmierung 3
J Musik abspielen Spiele- und Multimedia-Programmierung 11
C Midi abspielen und Listener anmelden? Spiele- und Multimedia-Programmierung 1
I Sound Dateien abspielen Spiele- und Multimedia-Programmierung 9
C Sound einfügen und abspielen Spiele- und Multimedia-Programmierung 6
F Einen Sound mit veränderter Tonhöhe und Geschwindigkeit abspielen - Hilfe erbeten Spiele- und Multimedia-Programmierung 29
F Problem mit dem Abspielen von byte[] (Audioprogrammierung) Spiele- und Multimedia-Programmierung 2
C Problem mit Abspielen von Audio-Dateien Spiele- und Multimedia-Programmierung 3
S Sounds abspielen, ohne sie jedesmal neu zu laden Spiele- und Multimedia-Programmierung 8
F WAV Abspielen Spiele- und Multimedia-Programmierung 15
P Video in JAVA abspielen,... Spiele- und Multimedia-Programmierung 3
T Sound schneller abspielen Spiele- und Multimedia-Programmierung 4
S Uneffizientes Abspielen von Sounds?! Spiele- und Multimedia-Programmierung 4
Guybrush Threepwood Beste Möglichkeit zum Abspielen von MP3 Spiele- und Multimedia-Programmierung 3
StrikeTom .gif animation als image abspielen Spiele- und Multimedia-Programmierung 2
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
N Totaler Absturz beim mehrmaligen Abspielen von Sounds Spiele- und Multimedia-Programmierung 5
H JMF - Video Abspielen Spiele- und Multimedia-Programmierung 12
B videos abspielen Spiele- und Multimedia-Programmierung 2
B Frage zum Abspielen von Sounddateien Spiele- und Multimedia-Programmierung 2
0 Crashes beim Abspielen von Sounds unter Win98 Spiele- und Multimedia-Programmierung 12
G Abspielen von Sounds in Java3D Spiele- und Multimedia-Programmierung 13
M "Java Datei" Cannot be resolved to a variable Spiele- und Multimedia-Programmierung 2
H Musik Datei lädt nicht? Spiele- und Multimedia-Programmierung 8
K Das Leerzeichen der Tastatur wird nicht gleichgesetzt mit dem Leerzeichen aus der Text Datei Spiele- und Multimedia-Programmierung 5
F SO-Datei compilieren... Spiele- und Multimedia-Programmierung 1
G Audio-Datei analysieren Spiele- und Multimedia-Programmierung 3
J Programm kann Audio Datei nicht finden Spiele- und Multimedia-Programmierung 7
L Wiedergabe von wav-Datei aus jar fehlerhaft Spiele- und Multimedia-Programmierung 2
Polarfuchs Status von Midi Datei(wird gerade abgespielt oder nicht) Spiele- und Multimedia-Programmierung 0
T Minecraft Bukkit Plugin Text Datei auslesen Spiele- und Multimedia-Programmierung 1
E .jar-Datei tut nichts Spiele- und Multimedia-Programmierung 5
C Highscoreliste mit SharedPreferences oder XML-Datei? Spiele- und Multimedia-Programmierung 1
D Probleme mit der Runnable jar Datei Spiele- und Multimedia-Programmierung 3
I Minecraft NBT Minecraft *.dat-Datei - Verständnisproblem Spiele- und Multimedia-Programmierung 26
L Werte aus einer .yml Datei lesen Spiele- und Multimedia-Programmierung 9
J Audio Input mit Datei abgleichen Spiele- und Multimedia-Programmierung 11
M Internet Java Spiel (.jar Datei) auf dem PC ausführen Spiele- und Multimedia-Programmierung 7
R Savegame als Datei, welche API-Klasse benutzen Spiele- und Multimedia-Programmierung 8
A Audio-Datei auf Mikrofonausgang senden? Spiele- und Multimedia-Programmierung 2
S MP3 Datei informationen bearbeiten Spiele- und Multimedia-Programmierung 9
Guybrush Threepwood Overhead: Ressourcen in Jar-Datei Spiele- und Multimedia-Programmierung 4
P .obj-Datei in Java3D laden: ParsingErrorException Spiele- und Multimedia-Programmierung 7
R JLayer player spielt nur eine mp3 Datei ab Spiele- und Multimedia-Programmierung 1
W Bitmap aus Datei erstellen Spiele- und Multimedia-Programmierung 5
M Das Frequenzspektrum einer WAV/MP3-Datei anzeigen Spiele- und Multimedia-Programmierung 6
S benutzerdefiniertes Tileset in Datei speichern Spiele- und Multimedia-Programmierung 3
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
M Directx Datei laden Spiele- und Multimedia-Programmierung 3
M Probleme mit WaveFront-Object - Datei Spiele- und Multimedia-Programmierung 7
M mehrere PNG in eine Datei Spiele- und Multimedia-Programmierung 3
G Einen gif oder jpg Datei aus einem Graphics Objekt o. JFrame Spiele- und Multimedia-Programmierung 2
Z Zeiterfassungsprogramm Fehler Spiele- und Multimedia-Programmierung 7
L Fehler bei "Nochmal Spielen" (Java) Spiele- und Multimedia-Programmierung 1
M Fehler bei MinecraftPlugin Spiele- und Multimedia-Programmierung 3
D Minecraft [Minecraft] Java Start Fehler (Core-Dump) Spiele- und Multimedia-Programmierung 1
coolian glsl shader syntax fehler bei if? Spiele- und Multimedia-Programmierung 8
KeexZDeveoper Fehler von OpenGL Spiele- und Multimedia-Programmierung 1
Kim_Dotcom libGDX - opengl Fehler Spiele- und Multimedia-Programmierung 5
D Fehler bei GUI-Aktualisierung Spiele- und Multimedia-Programmierung 9
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
2 jMonkey fehler Spiele- und Multimedia-Programmierung 0
T LWJGL VBO's funktionieren nicht, geben aber auch keinen Fehler Spiele- und Multimedia-Programmierung 0
A Minecraft Plugin Teleport Fehler Spiele- und Multimedia-Programmierung 1
O Fehler bei Programmierung lässt Figur nicht bewegen Spiele- und Multimedia-Programmierung 5
R LWJGL: OpenGL Fehler - weitere Informationen auslesen möglich? Spiele- und Multimedia-Programmierung 2
G Sound-Sampling: Sinuston; kein Fehler, aber auch kein Ton :-( Spiele- und Multimedia-Programmierung 3
I Minecraft Java programmierungs fehler "MineCraft" Spiele- und Multimedia-Programmierung 6
V Komischer Fehler in LWJGL Spiele- und Multimedia-Programmierung 18
CookieSoft LWJGL Ubuntu 12.04 Fehler Spiele- und Multimedia-Programmierung 7
CookieSoft Slick Texture laden Fehler Spiele- und Multimedia-Programmierung 6
A Netbeans / Gamegrid Fehler/Maze Spiele- und Multimedia-Programmierung 2
1 Fehler bei Krümel&Monster Spiele- und Multimedia-Programmierung 16
0 Finde den Fehler nicht Spiele- und Multimedia-Programmierung 2
C Java Fehler (If?) Spiele- und Multimedia-Programmierung 14
F fehler Spiele- und Multimedia-Programmierung 2
L Abfrage-Fehler? - Hilfe bei Tetris Spiele- und Multimedia-Programmierung 9
D Java 2d translation() fehler Spiele- und Multimedia-Programmierung 4
D Fehler beim Stein Scher papier Spiel Spiele- und Multimedia-Programmierung 3
G Schüsse zeichnen, Fehler? Spiele- und Multimedia-Programmierung 3
R BufferStragety Fehler: Component must have a valid peer Spiele- und Multimedia-Programmierung 5
S drawImage Fehler ! Spiele- und Multimedia-Programmierung 3
V Minesweeperprogrammierung Fehler J0098 Spiele- und Multimedia-Programmierung 8
I Fehler bei Änderung der Bildschirmauflösung Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben