• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odczyt tagów ID3v2 z plików mp3

0 głosów
132 wizyt
pytanie zadane 18 kwietnia 2017 w C i C++ przez ignacjusz Bywalec (2,410 p.)
Witam, piszę "taggera" do plików mp3 w C++. Tagi ID3v1 zrobiłem bez problemu, jednak nie rozumiem konstrukcji tagów ID3v2. Wiem, że są to ramki umieszczane na początku pliku i nic więcej. Proszę o pomoc.

2 odpowiedzi

0 głosów
odpowiedź 18 kwietnia 2017 przez j23 Szeryf (97,200 p.)
wybrane 18 kwietnia 2017 przez ignacjusz
 
Najlepsza

http://id3.org/id3v2-00 <-- tu masz wszystko, co trzeba.

komentarz 18 kwietnia 2017 przez ignacjusz Bywalec (2,410 p.)
Dziękuję
0 głosów
odpowiedź 18 kwietnia 2017 przez QizmoPL Stary wyjadacz (11,570 p.)

Tag zapisany jest w postaci paczek danych zwanych ramkami. Ramki mogą przechowywać każdy rodzaj informacji taki jak: tytuł, album, strona internetowa, słowa utworu, zdjęcie okładki oraz wiele innych. Każda z ramek może osiągać wielkość do 16 MB, a cały tag nie może przekroczyć 256 MB. Tag ID3v2 jest zapisywany na początku pliku, co umożliwia przechowywanie w jedynym pliku obu standardów: ID3v1 na końcu oraz ID3v2 na początku pliku. Dodatkową zaletą jest możliwość stosowania standardów kodowania tekstu jak UTF8, UTF16, co pozwala na zapisywanie meta opisu w dowolnym języku.

komentarz 18 kwietnia 2017 przez ignacjusz Bywalec (2,410 p.)
To już czytałem. Chodzi mi o to, jak np. w formie char[] odczytać tag z pliku do programu
komentarz 18 kwietnia 2017 przez QizmoPL Stary wyjadacz (11,570 p.)
komentarz 18 kwietnia 2017 przez QizmoPL Stary wyjadacz (11,570 p.)

Creating a tag

Almost all functionality occurs via an ID3_Tag object. An ID3_Tag object basically encapsulates two things: a collection of ID3_Frame objects and file information. The goal is to populate an ID3_Tag object with ID3_Frame objects, and the easiest way to do this is to associate the tag with a file. This is done primarily via the ID3_Tag constructor, like so:

 

   ID3_Tag myTag("song.mp3");

This constructor links, or associates, the object myTag with the file "song.mp3". In doing so, the tagging information from "song.mp3" is parsed and added to myTag. This association can also be accomplished by creating an empty tag and making an explicit call to Link().

 

   ID3_Tag myTag;
   myTag.Link("song.mp3");

The default behavior of Link() is to parse all possible tagging information and convert it into ID3v2 frames. The tagging information parsed can be limited to a particular type (or types) of tag by passing an ID3_TagType (or combination of ID3_TagTypes). For example, to read only the ID3v1 tag, pass in the constant ID3TT_ID3V1.

 

   myTag.Link("song.mp3", ID3TT_ID3V1);

Another example would be to read in all tags that could possibly appear at the end of the file.

 

   myTag.Link("song.mp3", ID3TT_ID3V1 | ID3TT_LYRICS3V2 | ID3TT_MUSICMATCH);

Tylko nie wiem czy o to ci chodzilo

Podobne pytania

0 głosów
2 odpowiedzi 239 wizyt
pytanie zadane 8 listopada 2017 w Grafika i multimedia przez Krzysiek_34 Gaduła (4,040 p.)
0 głosów
1 odpowiedź 180 wizyt
pytanie zadane 24 listopada 2016 w Systemy operacyjne, programy przez VirtualMember Stary wyjadacz (10,850 p.)
0 głosów
2 odpowiedzi 152 wizyt
pytanie zadane 8 marca 2016 w Systemy operacyjne, programy przez Einstein21 Obywatel (1,420 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

62,275 zapytań

108,402 odpowiedzi

226,285 komentarzy

34,906 pasjonatów

Przeglądających: 211
Pasjonatów: 5 Gości: 206

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...