Hallo Zusammen,
ich habe ein Problem mit dem Auslesen des ID3-Tags eines Online-Streams.
Ich habe mir ein kleines Porgramm geschrieben, welches mit Hilfe eines InputStreams
den Online-Stream in eine Datei schreibt.
Diese Datei kann ich dann später z.B. mit dem VLC-Player wiedergeben.
Was ich nun noch gerne realisieren möchte ist, dass ich während des Speicherns der Datei den ID3-Tag auslese.
Ich habe im Netz schon mehrfach gelesen, das ich das Byte-Array in einen String konvertiere und dann nach "TAG" oder "ID3" suchen soll. Allerdings enthält mein String diese ID3-Header-Infos nicht.
Es sieht mir auch so aus als wenn der Zeichensatz nicht passt.. Habe das Byte-Array schon mit mehreren Zeichensätzen konvertiert, allerdings klappt es nicht...
Hat von euch jemand eine Idee???
Hier ein kurzer Programmausschnitt:
ich habe ein Problem mit dem Auslesen des ID3-Tags eines Online-Streams.
Ich habe mir ein kleines Porgramm geschrieben, welches mit Hilfe eines InputStreams
den Online-Stream in eine Datei schreibt.
Diese Datei kann ich dann später z.B. mit dem VLC-Player wiedergeben.
Was ich nun noch gerne realisieren möchte ist, dass ich während des Speicherns der Datei den ID3-Tag auslese.
Ich habe im Netz schon mehrfach gelesen, das ich das Byte-Array in einen String konvertiere und dann nach "TAG" oder "ID3" suchen soll. Allerdings enthält mein String diese ID3-Header-Infos nicht.
Es sieht mir auch so aus als wenn der Zeichensatz nicht passt.. Habe das Byte-Array schon mit mehreren Zeichensätzen konvertiert, allerdings klappt es nicht...
Hat von euch jemand eine Idee???
Hier ein kurzer Programmausschnitt:
Java:
InputStream inputStream = null;
FileOutputStream fileOut = null;
inputStream = url.openStream();
File f = new File("Test.mp3");
f.createNewFile();
fileOut = new FileOutputStream(f);
byte[] buffer = new byte[8192];
int r = -1;
while ((r = inputStream.read(buffer)) != -1)
{
String buf = new String(buffer, "ISO-8859-1");
//String buf = new String(buffer);
//System.out.println(buf);
if (buf.indexOf("TAG") != -1 || buf.indexOf("ID3") != -1)
System.out.println("ID3 gefunden");
fileOut.write(buffer, 0, r);
}
Zuletzt bearbeitet: