# Musik-Stream: Server sendet die Datei zu schnell ?



## TheSunToucher (16. Mai 2005)

Hallo Java'isten,

ich habe begonnen einen Audio-Server zu schreiben der eine MP3 streamt. Ich bin auch rechtschnell und mit sehr wenig code zu einem ergebnis gekommen. Ich öffne einen ServerSocket und verbinde mich mit einem Audio-Player, dann höre ich auch die Musik, nur leider nicht komplett. Nach ca. 30 Sekunden hat der Server die komplette Datei gesendet und der Player springt im Lied mehrmals vorwärts un erreicht kurz danach das Ende des Songs.

Ich vermute das der Server die Datei so schnell er kann an den Client sendet und jedesmal wenn der Puffer des Players überläuft springt er im Lied nach vorn. Der Code, also der Teil en ich verdächtige, sieht so aus:


```
Socket socket = serverSocket.accept();
	OutputStream output = socket.getOutputStream();

	[...]

	InputStream input = new FileInputStream(file);
        byte[] buffer = new byte[1024];
        int offset = 0;
        int read = 0;
        while((read = input.read(buffer)) >= 0){
				offset += read;
				output.write(buffer);
        }
		
	input.close();
```

Kennt jemand einen Weg dieses Problem zu lösen oder muss ich ausrechnen wieviel ich in welchem Zeitraum streamen muss und das selbst time'en, also mit sleep() oder ähnliches?

Danke, Gruß
Tim


----------



## TheSunToucher (17. Mai 2005)

Ich muss den ersten Beitrag berichtigen, wenn ich mich mit dem Winamp verbinde klappt es einwandfrei. Ich hatte um den Beitrag abzukürzen nicht alles erzählt. Um mir die Arbeit zu ersparen akzeptiere ich nur einen Client und habe einen Shoutcast-Relay-Server aufgesetzt. Das ist ein Server der wie ein Client oder Player den Stream liest und an die eigentlichen Clients weiterreicht.

also, mit dem Winamp funktioniert's mit dem Shoutcast-Relay-Server nicht, also behaupte ich einfach mal es liegt am Client und nicht an meinem Server. Tja, dann schreibe ich den Server wohl komplett selbst. Wollt ich mir eigentlich sparen bzw. später machen wenn der rest fertig ist...  :roll:


----------



## Dante (17. Mai 2005)

Für sowas muss es doch nen Standard oder eine Doku geben (zumindest für den Shoutcast-Server), evtl. wäre es besser sich da mal schlau zu lesen?


----------



## TheSunToucher (20. Mai 2005)

Jo, ursprünglich dachte ich es wär' mein Fehler gewesen, werd' mal andere Streaming-Server wie zum Beispiel "icecast" ausprobieren oder programmier es selbst, dann lern ich noch was und hab die volle Kontrolle, mal sehen.

Seltsam find ich schon das der die Datei so schnell abholt wie er kann...  ???:L


----------

