Sers,
Ich beschäftige mich momentan mit der Bewertung von Mp3 Files. Winamp und Aimp legen eine eigene Datenbank an und schreiben z.B. keine Bewertung in die Mp3 Files. Seit der Tag Version 2.3 ist es möglich POPM (Popularimeter) in die Tags einzuspeichern.
Ich versuche mich gerade in eine Beliebige Mp3 Datei ein Rating fest einzuspeichern, jedoch klappt das nicht =(. Vlt hat jmd eine Idee, da ich nicht ganz schlau werde aus der Doku der JAudioTagger Lib.
Danke schon mal =)
Hier mein Testcode für Testzwecke:
Ich beschäftige mich momentan mit der Bewertung von Mp3 Files. Winamp und Aimp legen eine eigene Datenbank an und schreiben z.B. keine Bewertung in die Mp3 Files. Seit der Tag Version 2.3 ist es möglich POPM (Popularimeter) in die Tags einzuspeichern.
Ich versuche mich gerade in eine Beliebige Mp3 Datei ein Rating fest einzuspeichern, jedoch klappt das nicht =(. Vlt hat jmd eine Idee, da ich nicht ganz schlau werde aus der Doku der JAudioTagger Lib.
Danke schon mal =)
Hier mein Testcode für Testzwecke:
Java:
MP3File f;
f = new MP3File("F:\\music-dry.mp3");
Tag tag = f.getTag();
MP3AudioHeader audioHeader = (MP3AudioHeader) f.getAudioHeader();
System.out.println(audioHeader.getTrackLength());
System.out.println(audioHeader.getSampleRateAsNumber());
System.out.println(audioHeader.getChannels());
System.out.println(audioHeader.isVariableBitRate());
System.out.println(FieldKey.RATING + " : " + tag.getFirstField(FieldKey.RATING));
System.out.println("tag.getFieldCount() : "+tag.getFieldCount()); // => POPM
//System.out.println("tag.hasField(POPM) : "+tag.hasField(FieldKey.RATING));
//ID3v23Frame frame;
// frame = (ID3v23Frame) f.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_POPULARIMETER);
//FrameBodyPOPM body = (FrameBodyPOPM) frame.getBody();
FrameBodyPOPM fb = new FrameBodyPOPM();
System.out.println(" --- POPM ---");
fb.setEmailToUser("test@test.de");
fb.setRating(100);
fb.setCounter(1);
//tag.setField(FieldKey.RATING, "100");
// tag.addField(FieldKey.RATING,"100");
// tag.addField(FieldKey.);
f.commit();
f.setID3v2Tag(tag.setField(Fiel));
System.out.println("body.getTextEncoding : "+fb.getTextEncoding());
System.out.println("body.getEmailToUser : "+fb.getEmailToUser());
System.out.println("body.getRating : "+fb.getRating());
System.out.println("body.getCounter : "+fb.getCounter());