Hallo,
ich versuche nun schon seit Tagen den Id3V1 Tag von Mp3s auszulesen.
Dazu hab ich fogenden code geschrieben:
Wenn ich mir die Struktur play1 mit printf anzeigen lasse werden Titel, Artist, Album, Jahr und Kommentar richtig angezeigt, aber für Genre wird 0 ausgegeben. Ich bin aber sicher, dass für Genre ein Wert gesetzt ist, da bei WinAmp das Genre richtig angezeigt wird.
Ich hoffe, dass Ihr mir sagen könnt wo mein Fehler liegt.
MFG, VLT
ich versuche nun schon seit Tagen den Id3V1 Tag von Mp3s auszulesen.
Dazu hab ich fogenden code geschrieben:
Code:
struct id3 {
char tag[3];
char title[31];
char artist[31];
char album[31];
char year[5];
char comment[31];
int genre;
int track;
} play1;
/* szPath enthält den PAfd zu der .mp3-Datei */
id3 readid3(char *szPath) {
FILE *datei_ptr;
char ver[2];
datei_ptr = fopen(szPath, "r+b");
if ( datei_ptr != 0) {
if (fseek(datei_ptr,-128,SEEK_END) == 0) {
fgets(play1.tag,4,datei_ptr);
fgets(play1.title,31,datei_ptr);
fgets(play1.artist,31,datei_ptr);
fgets(play1.album,31,datei_ptr);
fgets(play1.year,5,datei_ptr);
fgets(play1.comment,31,datei_ptr);
fgets(ver,2,datei_ptr);
play1.genre = atoi(ver);
}
else
printf("Zeiger konnte nicht gesetzt werden!");
fclose(datei_ptr);
}
else
printf("Fehler beim öffnen der Datei!");
return play1;
}
Ich hoffe, dass Ihr mir sagen könnt wo mein Fehler liegt.
MFG, VLT