[rešeno] [C] pomoč z knjižnico libid3tag, za branje mp3 "oznak" (tags)
1GOR
Član
Lepo pozdravljeni!
V C-ju sem se spravil delati program, ki bo urejal oznake (id3tags) mp3 datotek, s pomočjo knjižnice libid3tag.
Skupaj sem spravil samo naslednje, nato se mi pa je ustavilo!
se pravi odprem file test.mp3, preberem oznako(tag), ter poiščem prvi okvir: naslov skladbe(title frame). Struktura id3_frame je sestavljena iz char id[], char const *description, unsigned int nfields, union id3_field *fields. Se pravi moram pogledati fields, vendar ne znam razbiti union id3_field na "podrobnejše kose" (npr. frame->fields[0]->type ne deluje).
Pomagam si z kratkim "tutorial-om" http://www.mars.org/pipermail/mad-dev/2002-January/000439.html in
header file-om od knjižnice (id3tag.h).
Prosim, ne predlagajte mi drugih programskih jezikov, ker vem da bi lahko lažje naredil to v kakšnem drugem prog. jeziku, vendar si zelo želim to narediti v C-ju (samozadovoljstvo).
Prosim pomagajte mi!
Lp:Igor
V C-ju sem se spravil delati program, ki bo urejal oznake (id3tags) mp3 datotek, s pomočjo knjižnice libid3tag.
Skupaj sem spravil samo naslednje, nato se mi pa je ustavilo!
struct id3_file *file;
struct id3_tag *tag;
struct id3_frame *frame;
union id3_field *field;
file = id3_file_open(\"/home/igor/Desktop/test.mp3\", ID3_FILE_MODE_READONLY);
tag = id3_file_tag(file);
frame = id3_tag_findframe(tag, ID3_FRAME_TITLE, 0);
se pravi odprem file test.mp3, preberem oznako(tag), ter poiščem prvi okvir: naslov skladbe(title frame). Struktura id3_frame je sestavljena iz char id[], char const *description, unsigned int nfields, union id3_field *fields. Se pravi moram pogledati fields, vendar ne znam razbiti union id3_field na "podrobnejše kose" (npr. frame->fields[0]->type ne deluje).
Pomagam si z kratkim "tutorial-om" http://www.mars.org/pipermail/mad-dev/2002-January/000439.html in
header file-om od knjižnice (id3tag.h).
Prosim, ne predlagajte mi drugih programskih jezikov, ker vem da bi lahko lažje naredil to v kakšnem drugem prog. jeziku, vendar si zelo želim to narediti v C-ju (samozadovoljstvo).
Prosim pomagajte mi!
Lp:Igor
Komentarji
Rabil sem vedeti kakšnega tipa je posamezno polje (field), in neka koda, ki sem jo našel na internetu me je zavedla
(fields[0]- >type). V resnici s funkcijo id3_field_type(union id3_field *field) izveš kakšnega tipa je polje.
Ampak vseeno hvala za pomoč!
Rad bi samo povedal, da sem našel rešitev.
Spisal sem dve funkciji, in sicer funkcijo za branje okvirja(frame)(get_frame), ter funkcjio za nastavljanje vrednosti okvirja(frame)(set_frame).
Če bo slučajno komu prav prišlo!
get_frame:
set_frame
še primer klicanja funkcije:
[SOLVED]