Thomas Darimont
Erfahrenes Mitglied
Hallo!
Hier mal ein Denkanstoß wie man IDv3 Tags aus Mp3 Datei auslesen könnte...
Informationen zum Aufbau der IDv3 Tags findet ihr hier:
http://www.id3.org/id3v2.3.0.html
Weiterhin gibts dafür aber auch eine sehr nette Bibliothek:
http://www.vdheide.de/projects.html
HTH
Gruß Tom
Hier mal ein Denkanstoß wie man IDv3 Tags aus Mp3 Datei auslesen könnte...
Informationen zum Aufbau der IDv3 Tags findet ihr hier:
http://www.id3.org/id3v2.3.0.html
Code:
/*
* Created on 14.10.2004
*/
package de.tutorials;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* @author Darimont
*
*/
public class Test12 {
public Test12() {
try {
File file = new File("c:/Mp3.mp3");
DataInputStream dis = new DataInputStream(new FileInputStream(file));
dis.skipBytes(10); //Skip the first 10 bytes
while (true) {
byte[] b = new byte[4];
int len = dis.read(b);
String keyword = new String(b);
System.out.println("Keyword: " + keyword);
int frameBodySize = dis.readInt();
if (frameBodySize == 0)
return;
System.out.println("FrameBodySize: " + frameBodySize); //Size of the next Frame
short flags = dis.readShort();
System.out.println("Flags: " + flags);
byte[] textBuffer = new byte[frameBodySize];
System.out.println(textBuffer.length);
len = dis.read(textBuffer);
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < textBuffer.length; i++) {
if (textBuffer[i] == 0)
continue;
if (keyword.startsWith("T")) {
if (i < 3)
continue;
}
buffer.append((char) textBuffer[i]);
}
System.out.println("Text: " + buffer.toString());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Test12();
}
}
Weiterhin gibts dafür aber auch eine sehr nette Bibliothek:
http://www.vdheide.de/projects.html
HTH
Gruß Tom