Radio in Java?

... komplette Frage anzeigen

1 Antwort

Du könntest ein TCP-Socket benutzen...

1. Verbindung zum Server herstellen.

2. Anfrage an den Server senden:

GET / HTTP/1.1\\r\\n
Host: stream.bmr-radio.de\\r\\n
\\r\\n

Anmerkung: Das Feld "Host" ggf. anpassen...

3. Antwortheader vom Server lesen:

ICY 200 OK\\r\\n

icy-notice1:This stream requires Winamp\\r\\n
icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.8\\r\\n
icy-name:Ballermann Radio\\r\\n
icy-genre:Pop European Top 40\\r\\n
icy-url:http://www.ballermann-radio.com\\r\\n
content-type:audio/mpeg\\r\\n
icy-br:128\\r\\n
\\r\\n

Anmerkungen: Die erste Zeile ist ziemlich genau so wie bei HTTP zu interpretieren (Alles ausser 200 = Fehler %D)... icy-br = Bitrate (kbps)

4. Alles weitere sind die Audiodaten...

Weiterführende Informationen: https://www.radiotoolbox.com/community/forums/viewtopic.php?t=74

P.S.: Der hier aufgeführte Ablauf ist nur eine rudimentäre Darstellung, dürfte dem gesuchten(?) aber recht nahe kommen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Wissididom
19.11.2016, 22:14

Ich habe jetzt herausgefunden, wo die Audiodatei liegt (durch ausprobieren): http://stream.bmr-radio.de/;stream.mp3. Jedoch habe ich nun das Problem, dass mir JLayer das nicht abspielen will. Ich habe im Firefox herausgefunden, dass da diese, in der Antwort erwähnte, ICY-Sachen drin stehen. Nun denke ich dass JLayer mit diesen Daten nichts anfangen kann und die Datei deshalb nicht abspielt. Ich denke ich könnte es beheben, indem ich diese entferne, nur weiß ich nicht wie man diese ICY-Variablen bei new URL("http://stream.bmr-radio.de/;stream.mp3").openStream(); durch "" ersetzen kann.

0