Hallo,
ich versuch nen mp3-Player zu schreiben und möchte halt gern mir die Informationen anzeigen lassen.
Aber irgendwie komme ich zu keinem wirklichem Ergebniss. Wenn ich mir die letzten 128bytes auf der Kommandozeile anzeigen lasse sind zwar Interpret, Titel, Jahr, usw. lesbar, aber dazwischen sind immer noch Symbole, Zahlen und Sonderzeichen zusehen. Und wenn ich nun diese 128 bytes in das Textfeld (tf) schreibe, kommt entweder gar nichts oder nur ein Teil der Info's oder wieder irgendwelche kuriosen Zeichenketten. :bahnhof:
Woran könnte es liegen? Bin für jede Anregung dankbar...
Danke!
ich versuch nen mp3-Player zu schreiben und möchte halt gern mir die Informationen anzeigen lassen.
Aber irgendwie komme ich zu keinem wirklichem Ergebniss. Wenn ich mir die letzten 128bytes auf der Kommandozeile anzeigen lasse sind zwar Interpret, Titel, Jahr, usw. lesbar, aber dazwischen sind immer noch Symbole, Zahlen und Sonderzeichen zusehen. Und wenn ich nun diese 128 bytes in das Textfeld (tf) schreibe, kommt entweder gar nichts oder nur ein Teil der Info's oder wieder irgendwelche kuriosen Zeichenketten. :bahnhof:
Woran könnte es liegen? Bin für jede Anregung dankbar...
Danke!
Code:
/**
*auslesen der Datei-Informationen (ID3v1)
*/
public void readID3Tag(){
ObjectInputStream ois;
File track;
FileInputStream fis;
RandomAccessFile raf;
byte[] buffer = new byte[128];
try{
track = new File("05-Einmal.mp3");
System.out.println(track.length());
fis = new FileInputStream(track);
//ois = new ObjectInputStream(fis);
raf = new RandomAccessFile(track,"r");
raf.seek(track.length()-128);
System.out.println(raf.getFilePointer());
System.out.println(new String(buffer,0,fis.read(buffer,0,128)));
raf.seek(track.length()-1);
//tf.setText(Byte.toString(raf.readByte()));
tf.setText(new String(buffer,0,fis.read(buffer,0,128)));
}
catch(FileNotFoundException e){
System.out.println(e);
}
catch(SecurityException e){
System.out.println(e);
}
catch(IOException ioe){
System.out.println(ioe);
}
}