• 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
149 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 VIP (108,640 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,500 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,500 p.)
komentarz 18 kwietnia 2017 przez QizmoPL Stary wyjadacz (11,500 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 295 wizyt
pytanie zadane 8 listopada 2017 w Grafika i multimedia przez Krzysiek_34 Gaduła (4,060 p.)
0 głosów
1 odpowiedź 200 wizyt
pytanie zadane 24 listopada 2016 w Systemy operacyjne, programy przez VirtualMember Stary wyjadacz (11,890 p.)
0 głosów
2 odpowiedzi 200 wizyt
pytanie zadane 8 marca 2016 w Systemy operacyjne, programy przez Einstein21 Obywatel (1,420 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

67,016 zapytań

113,929 odpowiedzi

241,411 komentarzy

46,960 pasjonatów

Przeglądających: 140
Pasjonatów: 3 Gości: 137

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.

...