Java Mac OS X Clips gehen nicht

gibtsnet

Lt. Junior Grade
Registriert
Aug. 2006
Beiträge
424
Hallo,

wir müssen für das Studium ein Tetris programmieren. Nun Programmieren ich das am Mac und wenn ich die Audiodatei über Clip lade bekommen ich beim öffnen folgende Exception.
Code:
javax.sound.sampled.LineUnavailableException: Failed to allocate clip data: Requested buffer too large
Ich hatte das selbe Projekt auch schon mal unter Windows ausprobiert und funktioniert es einwandfrei.
Und Onkel Google gibt auch keine vernünftigen Ergebnisse raus.
Hier mal der Teil des Programmcodes worum es geht.

Code:
AudioInputStream l_ThemeAudioStream = AudioSystem.getAudioInputStream(l_TetrisTheme);
DataLine.Info l_Info = new DataLine.Info(Clip.class, l_ThemeAudioStream.getFormat());
this.m_ThemeClip = (Clip)AudioSystem.getLine(l_Info);
this.m_ThemeClip.open(l_ThemeAudioStream);

Danke schon mal für die Hilfe.
 
Die Datei ist wav File und ist ca. 6,5 MB groß und 38Sekunden lang.
Die Java Virtual Machine ist bei Apple standardmäßig 64Bit und 32Bit.
Ich habe selbiger auch schon mehr Speicher über den Befehl -Xmx1024m gegeben.
 
gibtsnet schrieb:
Die Java Virtual Machine ist bei Apple standardmäßig 64Bit und 32Bit.

Apple lieferte früher beide mit, aber verwendet wird immer nur eine, also entweder 64bit oder 32bit. Könnte den Unterschied zu Windows erklären, aber hier mögen auch andere Dinge eine Rolle spielen.
 
kuddlmuddl schrieb:
Testo doch mal eine winzige 3 sekunden WAV
Habe ich bereits getestet, wav Files mit 1 - 2 Sekunden laufen wunderbar.

soares schrieb:
Apple lieferte früher beide mit, aber verwendet wird immer nur eine, also entweder 64bit oder 32bit. Könnte den Unterschied zu Windows erklären, aber hier mögen auch andere Dinge eine Rolle spielen.
Naja wenn ich eine der beiden JVM deaktiviere ist die andere auch gleichzeitig mit deaktiviert.
@soares: Ich werde mal deinen Link verfolgen den du oben gepostet hattest.

Aber vlt. fällt einem ja zwischendurch ein was es sein könnte.
 
gibtsnet schrieb:
Naja wenn ich eine der beiden JVM deaktiviere ist die andere auch gleichzeitig mit deaktiviert.

Das ist normal. Verwendet wird die JVM, die an erster Stelle steht. Vertausche testweise die Reihenfolge. Du kannst Dir auf der Shell mittels "java -version" anzeigen, welche Version verwendet wird.

gibtsnet schrieb:
Aber vlt. fällt einem ja zwischendurch ein was es sein könnte.

Die Meldung deutet auf ein Speicherproblem hin. Verwende einen Profiler, um den Fehler einzugrenzen.

Ich hatte wie gesagt noch nie mit Sound zu tun, aber der verlinkte Artikel deutet darauf hin, dass dies ein gängiges Problem ist. Um größere Dateien abzuspielen, muss man die API in einer bestimmten Weise verwenden.
 
Zurück
Oben