DataLine not supported nach 20 Minuten

mayewski

Mitglied
Hallo,

ich habe ein kleines Problem mit dem Sound bei Java.
Ich frage in einer Endlosschleife den Soundeingang ab und führe gegebenenfalls eine Methode aus.
Dies funktioniert auch alles, aber nur maximal 20 Minuten lang.
Nach immer 1219 Sekunden, also 20 Minuten und 19 Sekunden wird die DataLine nicht mehr unterstützt.

Hier ein Code-Ausschnitt

Java:
AudioFormat format = new AudioFormat(8000.0F,8,1,true, false);
TargetDataLine line;
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
if (!AudioSystem.isLineSupported(info)) {
	//true nach 1219 Sekunden
}
try {
	line = (TargetDataLine) AudioSystem.getLine(info);
	line.open(format);
	ByteArrayOutputStream out  = new ByteArrayOutputStream();
	int numBytesRead;
        byte[] data = new byte[182];
	// ....
	 return 1;
	}
catch (...) {
 //...
}

Wie gesagt, es funktioniert 20 Minuten lang, dann nicht mehr.
Danach muss ich das Programm neu starten, damit es wieder geht. Nur ein neu erstellen der Klasse reicht nicht aus.
 

Marco13

Top Contributor
Schwer zu sagen, habe mit Sound noch nicht viel gemacht, aber ... den Symptomen nach klingt es, als würde da irgendein Buffer vollaufen...Gibt's da ein KSKB dazu?
 

mayewski

Mitglied
Auf einem anderen PC funktioniert es ohne Probleme. Also wird ein KSKB wohl nichts bringen?

Der Problem-PC:
Kleiner Linux Server (Dockstar)
Debian Lenny
1,2 GHz
128 MB Arbeitsspeicher + Swap File
256MB internen NAND Speicher + 16GB USB-Stick

Vorhin habe ich das Programm mit Screen fünfmal gleichzeitig laufen lassen.
Gleiches Ergebnis: nach ~20 min kommt der Fehler.
 

Marco13

Top Contributor
Vielleicht hat jemand anderes da noch ... "gezieltere" Ideen dazu, aber ... ich könnte da jetzt auch nur im Trüben stochern. Was passiert z.B., wenn du die Größe dieses Buffers erhöhst, von 182 auf 182*2 oder so? Ich sehe im Moment keine andere Möglichkeit, das ganze als "Black Box" anzusehen, und durch Änderungen der Eingabe/des Programms zu versuchen, Rückschlüsse auf die mögliche Ursache zu ziehen...
 

mayewski

Mitglied
Was passiert z.B., wenn du die Größe dieses Buffers erhöhst, von 182 auf 182*2?

Gleicher Fehler nach 39 Minuten.
Mit new byte[182] ging die Berechnung ca. 2,5 Sekunden mit new byte[364] nun 5 Sekunden.
Also nach knapp über 500 Schleifendurchläufen kommt der Fehler.

Edit:

Ich habe gerade die Berechnung sehr stark vereinfacht. Beobachtung: Nach 506 Schleifendurchläufen kommt der Fehler.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kr0e Java Sound API - DataLine Spiele- und Multimedia-Programmierung 2
LeleEdits Discord JDA nach Rolle suchen Spiele- und Multimedia-Programmierung 0
I Wie kann ich die Kreise nach jeweils 1s spawnen lassen? Processing Spiele- und Multimedia-Programmierung 1
dummycoders Android Studio - Button ändert Farbe erst nach Delay? Spiele- und Multimedia-Programmierung 5
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
M Kann nur nach rechts drehen Spiele- und Multimedia-Programmierung 7
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
B LWJGL StackOverFlow Problem nach 30sekunden. (Pong) Spiele- und Multimedia-Programmierung 2
A AffineTransform: Nach Drehen verschieben Spiele- und Multimedia-Programmierung 2
N JPanel Inhalt aktualisiert nach Thread.sleep nicht Spiele- und Multimedia-Programmierung 2
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
F Screenshot Programm nach Exception weiterlaufen lassen? Spiele- und Multimedia-Programmierung 9
D Java Variable nach String benennen Spiele- und Multimedia-Programmierung 13
A Minecraft SocketException nach Minecraft-Update Spiele- und Multimedia-Programmierung 6
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
E Spiel startet nach exportieren nicht Spiele- und Multimedia-Programmierung 7
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
aze "verstümmelte Flächen" nach TransparenzInterpolation Spiele- und Multimedia-Programmierung 9
W JOGL bleibt nach display() in PaintArea.paintComponent hängen Spiele- und Multimedia-Programmierung 5
F Lichtspektrum dezimal nach RGB Spiele- und Multimedia-Programmierung 10
R Koordinaten, Breite, Höhe nach drehen berechnen? Spiele- und Multimedia-Programmierung 3
Apo ApoStarz - Bring die Sterne nach Hause Spiele- und Multimedia-Programmierung 19
M Sich nach links verschiebendes Bild Spiele- und Multimedia-Programmierung 2
D Zwei Fragen (Exponential Fog und Schein-nach-außen-Effekt) Spiele- und Multimedia-Programmierung 6
S Polygon bewegt sich nach mehreren aufrufen immer schneller Spiele- und Multimedia-Programmierung 3
M durchsichtiges Bild nach clearRect Spiele- und Multimedia-Programmierung 8
S drawString Befehl nicht ausgeführt nach transforming Spiele- und Multimedia-Programmierung 5
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
S Info+Taste nach oben. Spiele- und Multimedia-Programmierung 2
S Punkt berechnen, nach Rotation Spiele- und Multimedia-Programmierung 2
R Falsche Positionierung der Interpolatoren nach Verwendung Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben