Crashes beim Abspielen von Sounds unter Win98

Status
Nicht offen für weitere Antworten.

0xdeadbeef

Top Contributor
Ist diesbezüglich etwas bekannt??? Zwei meiner "Beta-Tester" (so 'ne Art) berichten davon, daß ihr Rechner sporadisch einfriert, wenn von meinem Spiel Sound abgespielt wird. Beide haben Win98. Tritt offensichtlich auf, wenn sehr viele kurze Sounds in kurzer Zeit abgespielt werden sollen. Unter XP gibt es keinerlei Probleme, muß also ein Problem der JRE unter 98 sein...
Ideen?
 
S

sebastian4gold

Gast
Hallo!
Ich habe eine Raumklang Demo geschrieben, die ungefähr 200 Objekte darstellt, von dem jedes das selbe Lied abspielt (eine 6MB Datei) und sich bewegt.
Außerdem habe ich eine Hall-Engine eingebaut.

So. Ich habe auch Win 98 (SE). Mit SAGENHAFTEN 128 MB Ram.
Beim Testen habe ich auch immer Eclipse im Hintergrund laufen.
Nichts ist eingefrohren.
Ich glaube es liegt nicht am Sound.

So jetzt du.

Gruß
Sebastian

______________________________________________________________
Wenn du willst, kann ich dir das Prog schicken, du testest es bei deinen "Testern" und dann kannst du ja sehen ob es am Sound liegt, oder am Spiel.
Vielleich solltest du auch in betracht ziehen, mit welcher Java Version sie die Demo testen.
 

0xdeadbeef

Top Contributor
Na ja, ich spiele sehr viele sehr kurze Sounds ab (u.U. 'zig pro Sekunde) und bekanntlich hatten ja diverse JREs der letzten Zeit (alle 1.4er und die ersten 4 1.5er) auch unter XP Probleme mit kurzen Sounds.
Ich spiele nebenbei bemerkt auch Musik (MOD) ab, die funktioniert aber anders (eine Line statt dauernd neuer Clips) und scheint keine Probleme zu machen.
Daß also gewisse Soundanwendungen keine Probleme machen, sagt absolut nichts darüber aus, ob es unter Win98 (bekannte) Probleme mit JavaSound gibt.
Es gibt davon abgesehen unzählige Einträge zum Thema "Freezes unter Win98 mit Bezug auf Sound" in der Sun Bug Database. Allerdings ist das durchsuchen hunderter Einträge etwas mühselig, zumal die meisten als "nicht reproduzierbar" geschlossen wurden - was aber ja auch nichts heißt.
 
S

sebastian4gold

Gast
Wie wäre es dann damit:

Probier doch einfach eimal lange (so 30 sik) Musik aus. Ist ja erst einmal egal, ob das dann im Spiel sich (auf "gut" Deutsch) scheiße anhört. Wenn´s dann arbeitet, dann kannst du 100%ig sagen es liegt daran und dann kannst du auch nichts machen.
Wenn allerdings bei langen Songs die Rechner sich auf aufhängen, dann ließe sich durchaus etwas machen.
Probier das mit den langen Songs aus, dann berichte uns. (sofern du nicht pech hast, und man nichts machen kann.)

Alternativ Vorschlag. Wenn es mit Java nicht geht, kannst du ja eine JNI basierende Sound Lib bei Sourceforge suchen, die du einbindest. Dann wäre das Prob auch gelöst.

Gruß
Seba
 

0xdeadbeef

Top Contributor
Naja, meine Lösung wäre im Augenblick: Sound ausschalten oder kein 8 Jahre altes Betriebssystem benutzen.

Aber um es nochmal klar zu machen: ich suche (noch) nicht nach Lösungen, sondern primär erstmal nach Erfahrungen zum Thema.
 

warnimal

Mitglied
guten morgen oxdeadbeef...

wir testen auf allen mögliche hardwarekonfigurationen (man glaubt net was für kisten in diversen büros von kunden stehen :autsch: )... unter anderem auch auf rechnern die <800Mhz und < 256 MB RAM und Win98SE installiert haben

dabei hat sich gezeigt dass solche saurier speziell sie wenn alte creativ-labs-ähnliche(!???)-soundkarten installiert haben bei applets die unter JSE1.3 oder älter sind:

1.sound entweder gar net spielen
2.das applet einfriert
3.oder der loadingprozess endlos dauert...bis hin zum einfrieren des Browsers...

was mich noch interessieren würde: was für ein soundformat verwendest denn?
bzw...wie ists denn gesampelt?

wir haben einen grossteil solcher probleme damit abgestellt dass wir nur mehr sounds abspielen die im *.au format mit 8bit 8kHz mono erstellt worden sind...


war, ohne einhalt...
 

0xdeadbeef

Top Contributor
Meine Soundfiles sind alle sehr kleine (und kurze) 8bit-Mono-WAV-Files mit Samplingraten <= 8kHz, die ich als Clip abspiele.
Einzige Ausnahme bildet ein 8bit -44kHz-Monosound, den ich quasi synthetisiere (einfaches Pitchshifting). Auch der wird aber als Clip abgespielt. Das entsprechende AudioFormat ist wie folgt definiert:
pitchFormat = new AudioFormat( 44100, 8, 1, false, false);

Parallel läuft eine Musikausgabe mit einer Stereo-Line und 44kHz Samplingfrequenz. Die scheint - soweit man das sagen kann - unproblematisch zu sein.

Nach den wenig hilfreichen Kommentaren meiner freiwilligen Tester schließe ich, daß die Sounds alle geladen und abgespielt werden, daß es aber speziell bei wiederholtem Abspielen des synthetisierten Sounds zu spontanen Freezes (des gesamten System) kommt.
 

warnimal

Mitglied
hm...

kommts gleich bei der ersten wiederholung des abspielvorgangs dazu?
irgendwie hört sich das an als würden die files immer wieder neu in den arbeitsspeicher gelegt werden der dann natürlich irgendwann einmal überlastet ist...

magst net den gesamten code (was audio betrifft) posten damit wir es einmal durchschauen können?

war, schönes we wünschend...
 

0xdeadbeef

Top Contributor
warnimal hat gesagt.:
kommts gleich bei der ersten wiederholung des abspielvorgangs dazu?
Wohl nicht.

warnimal hat gesagt.:
irgendwie hört sich das an als würden die files immer wieder neu in den arbeitsspeicher gelegt werden der dann natürlich irgendwann einmal überlastet ist...
Nein, die Files werden nur einmal geladen. Auf meiner Seite wird pro Abspielvorgang keinerlei Speicher angelegt.
Die einzige implizite Allokierung ist das "getLine" mit dem ich mir eine Line vom Mixer hole.

warnimal hat gesagt.:
magst net den gesamten code (was audio betrifft) posten damit wir es einmal durchschauen können?
Ich hatte meine Soundklasse schon mal hier gepostet, auch da hat sich am Ende herausgestellt, daß es ein Fehler in der JVM war (kurze Sounds wurden vor der 1.5_05 unter Windows nicht korrekt abgespielt). Ich kann das gerne nochmal machen, aber das Ergebnis wird das gleiche sein.
 

0xdeadbeef

Top Contributor
Nebenbei ist mir aufgefallen, daß ein per Clip gespielter Sound anscheinend Windows-Speicher belegt, der nicht mehr freigegeben wird (falls man dem Task-Manager glauben mag), obwohl der Heap nicht wächst.
Siehe auch:
http://www.java-forum.org/de/viewtopic.php?t=28584

Ob das ein Memory-Leak der JVM oder exzessives Caching ist, sei mal dahingestellt.

Als workaround sehe ich nur, "richtige" DataLines zu benutzen anstelle von Clips, weil ich über die die Kontrolle behalte. Das würde das gesamte Soundsystem aber extrem verkomplizieren. Außerdem tritt der gleiche Effekt (nicht mehr freigegebenes Windows-RAM, obwohl der Heap stagniert) auch mit BufferedImages auf.
 

0xdeadbeef

Top Contributor
Ah, ok, habe zumindest für das Freigeben von Windows-Ressourcen eine Lösung gefunden.
Obwohl ich bisher eigentlich davon ausgegangen bin, daß man einen Clip nicht mehr explizit schließen muß, ist das anscheinend doch nötig.

Habe mir also einen LineListener geschrieben:

Code:
class ClipListener implements LineListener {
	public void update(LineEvent event) {
		LineEvent.Type type = event.getType();
		if (type == LineEvent.Type.STOP) {
			Clip c = (Clip)event.getLine();
			c.flush();
			c.close();
		}
	}
}

Und starte die Line wie folgt:
Code:
Clip c = (Clip)mixers[mixerIdx].getLine(info[num]);
c.open(format[num],soundBuffer[num],0,soundBuffer[num].length);
c.addLineListener(clipListener);
c.start();

Vielleicht behebt das ja auch die Probleme unter Win98?
 

byte

Top Contributor
0xdeadbeef hat gesagt.:
Außerdem tritt der gleiche Effekt (nicht mehr freigegebenes Windows-RAM, obwohl der Heap stagniert) auch mit BufferedImages auf.

Interessant! Das erklärt ein Problem, was ich kürzlich hatte. Ich musste sehr viele Bilder zusammenfügen. Also immer etwa 50-500 Bilder (schmale Streifen) einlesen, zu einem Bild zusammenfügen und wieder abspeichern. Ich habe extra darauf geachtet, dass immer nur soviele Objekte im Speicher liegen, wie auch tatsächlich benötigt werden. Und trotzdem kommt es zu einer OutOfMemoryException, wenn man das ganze über ein Verzeichnis mit sehr vielen Bildern (10.000+) ausführen möchte. Obwohl trotzdem immer nur 50-500 Bilder gleichzeitig eingelesen und zusammengefügt werden, ist irgendwann Schicht im Schacht.

Gibts da was Offizielles zu dem Thema? Also ist es als Bug bekannt?

PS: Das hilft Dir jetzt bei Deinem Problem natürlich nicht weiter. Da kann ich Dir auch leider nicht weiterhelfen. :roll:
 

0xdeadbeef

Top Contributor
Das mit den BufferedImages ziehe ich teilweise wieder zurück. War vermutlich eine Fehlinterpretation.

Für Deinen Fall: hast Du schon mal versucht, für nicht mehr explizit benutzte Bilder die eventuell im Cache befindlichen Informationen per flush() zu löschen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 0
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 5
J TreeNode erstellen [Hilfe beim Konstruktor, Zeile 16] Spiele- und Multimedia-Programmierung 2
T Hilfe beim Platzieren der Schiffe Spiele- und Multimedia-Programmierung 14
RalleYTN Brauche Hilfe beim Einlesen von PNGs Spiele- und Multimedia-Programmierung 14
O Problem beim Aufrufen des Spiels von einem Menü Spiele- und Multimedia-Programmierung 7
G LIBGDX Problem beim resizen des Frames Spiele- und Multimedia-Programmierung 3
T Android App Absturz beim Starten Spiele- und Multimedia-Programmierung 41
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
T LWJGL 2.9.2: Seltsamer Effekt beim Rendern (VertexShader Problem?) Spiele- und Multimedia-Programmierung 3
T Problem beim Aufbau des Spielfelds Spiele- und Multimedia-Programmierung 18
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
S [LWJGL] schwarzer Bildschrim beim rendern von .obj Model Spiele- und Multimedia-Programmierung 2
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
N Problem mit Kollisionsabfrage beim Fallen Jump & Run Spiele- und Multimedia-Programmierung 5
L Problem beim Rätsellöser Spiele- und Multimedia-Programmierung 3
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
K Problem beim Anzeigen von Bildern Spiele- und Multimedia-Programmierung 5
D Problem mit Überprüfung beim Lottospiel Spiele- und Multimedia-Programmierung 6
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
C Java3D Lichtquelle beim Beobachter Spiele- und Multimedia-Programmierung 2
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
aze Problem beim Laden von Obj File Spiele- und Multimedia-Programmierung 3
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
N Totaler Absturz beim mehrmaligen Abspielen von Sounds Spiele- und Multimedia-Programmierung 5
L Fehlersuche beim Weichzeichner-Algorithmus Spiele- und Multimedia-Programmierung 9
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
B Problem beim Programmieren von 4Gewinnt Spiele- und Multimedia-Programmierung 5
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
D Fehler beim Stein Scher papier Spiel Spiele- und Multimedia-Programmierung 3
G Überlagern von Strings beim zeichnen verhindern Spiele- und Multimedia-Programmierung 3
G Weiße, vertikale Streifen beim Scrollen auf der Map Spiele- und Multimedia-Programmierung 4
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
C KI beim Computergegner? Spiele- und Multimedia-Programmierung 2
G Problem beim Zeichnen von LineArrays Spiele- und Multimedia-Programmierung 9
C Problem beim picken Spiele- und Multimedia-Programmierung 10
B Problem beim Programmieren Von Mühle Spiele- und Multimedia-Programmierung 6
T Exception beim starten von Java3d Apps Spiele- und Multimedia-Programmierung 2
B problem beim Memory Logik Spiele- und Multimedia-Programmierung 13
J Problem beim Instaliren Spiele- und Multimedia-Programmierung 8
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
S Sudoku Solver funktioniert beim 2. Aufruf nicht mehr Spiele- und Multimedia-Programmierung 11
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
C Graphische Benutzerschnittstelle, Problem beim Zeichnen Spiele- und Multimedia-Programmierung 4
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
T Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze Spiele- und Multimedia-Programmierung 3
A Bildfehler beim schnellen neuzeichnen Spiele- und Multimedia-Programmierung 2
D Pfeiltasten beim KeyListener Spiele- und Multimedia-Programmierung 1
I Beim Picking werden alle Behaviors angesprochen Spiele- und Multimedia-Programmierung 4
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
P .Wav Datei vor main-Methode abspielen? Spiele- und Multimedia-Programmierung 9
S AAC abspielen Spiele- und Multimedia-Programmierung 9
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
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
H wma Datei abspielen: java.io.IOException: Resetting to invalid mark Spiele- und Multimedia-Programmierung 11
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
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
A wav datei aus jar Abspielen Spiele- und Multimedia-Programmierung 7
N bei abspielen der wav datei fehler Spiele- und Multimedia-Programmierung 6
H JMF - Video Abspielen Spiele- und Multimedia-Programmierung 12
R Wave-Datei mit JLayer abspielen Spiele- und Multimedia-Programmierung 4
B videos abspielen Spiele- und Multimedia-Programmierung 2
B Frage zum Abspielen von Sounddateien Spiele- und Multimedia-Programmierung 2
G Abspielen von Sounds in Java3D Spiele- und Multimedia-Programmierung 13

Ähnliche Java Themen


Oben