 |
|
| |
MP3::Tag::ID3v2_Data(3) |
User Contributed Perl Documentation |
MP3::Tag::ID3v2_Data(3) |
MP3::Tag::ID3v2_Data - get_frame() data format and supported
frames
$mp3 = MP3::Tag->new($filename);
$mp3->get_tags();
$id3v2 = $mp3->{ID3v2} if exists $mp3->{id3v2};
($info, $long) = $id3v2->get_frame($id); # or
($info, $long) = $id3v2->get_frame($id, 'raw');
This document describes how to use the results of the get_frame
function of MP3::Tag::ID3v2, thus the data format of frames retrieved with
MP3::Tag::ID3v2::get_frame().
It contains also a list of all supported ID3v2-Frames.
get_frame()
($info, $long) = $id3v2->get_frame($id); # or
($info, $long) = $id3v2->get_frame($id, 'raw');
$id has to be a name of a frame like
"APIC". For more variants of calling see get_frame().
The names of all frames found in a tag can be retrieved with the
get_frame_ids() function.
In the ID3v2.3 specifications 73 frames are defined, which can
contain very different information. That means that get_frame returns the
information of different frames also in different ways.
- Simple Frames
- A lot of the tags contain only a text string and encoding information. If
you call ($info, $long) =
$id3v2->get_frame($id) for such a frame,
$info will contain the text string and
$long will contain the english name of the frame.
Example:
get_frame("TIT2"); # returns
("Birdhouse In Your Soul", "Title/songname/content description")
- Complex Frames
- For more complex frames the returned $info is a
reference to a hash, where each entry of the hash decribes a part of the
information found in the frame. The key of a hash entry contains the name
of this part, the according value contains the information itself.
Example:
get_frame("APIC"); # returns
( { "Description" => "Flood",
"MIME Type" => "/image/jpeg",
"Picture Type" => "Cover (front)",
"_Data" => "..data of jpeg picture (binary).."
},
"Attached Picture");
- Other Frames
- Some frames are not supported at the moment, ie the data found in the
frame is not returned in a descriptive way. But you can read the data of
this frames (and also of all other frames too) in raw mode. Then the
complete data field of the frame is returned, without any modifications.
This means that the returned data will be almost binary data.
Example:
get_frame("TIT2", 'raw'); # returns
("\x00Birdhouse In Your Soul", "Title/songname/content description")
The frames which (in addition to
"Text"/"URL")
contain only "Description" and
"Language" fields are in some intermediate
position between "simple" and "complex" frames. They can
be handled very similarly to "simple" frames by using "long
names", such as "COMM[description]"
or "COMM(LANG)[description]", and the
corresponding "quick" API such as frame_select().
Following frames are supported and return a reference to a hash.
The list shows which keys can be found in the returned hash:
- AENC : Audio
encryption
-
Keys: URL, Preview start, Preview length, _Data
- APIC : Attached
picture
-
Keys: MIME type, Picture Type, Description, _Data
- COMM : Comments
-
Keys: Language, Description, Text
- COMR : Commercial
frame
-
Keys: Price, Valid until, URL, Received as, Name of Seller, Description, MIME type, _Logo
- ENCR : Encryption method
registration
-
Keys: Owner ID, Method symbol, _Data
- GEOB : General encapsulated
object
-
Keys: MIME type, Filename, Description, _Data
- GRID : Group identification
registration
-
Keys: Owner, Symbol, _Data
- LINK : Linked
information
-
Keys: ID, URL, Text
- OWNE : Ownership
frame
-
Keys: Price payed, Date of purchase, Text
- POPM : Popularimeter
-
Keys: URL, Rating, Counter
- PRIV : Private frame
-
Keys: Text, _Data
- RBUF : Recommended buffer
size
-
Keys: Buffer size, Embedded info flag, Offset to next tag
- RVRB : Reverb
-
Keys: Reverb left (ms), Reverb right (ms), Reverb bounces (left), Reverb bounces (right), Reverb feedback (left to left), Reverb feedback (left to right), Reverb feedback (right to right), Reverb feedback (right to left), Premix left to right, Premix right to left
- SYTC : Synchronized tempo
codes
-
Keys: Time Stamp Format, _Data
- TXXX : User defined text
information frame
-
Keys: Description, Text
- UFID : Unique file
identifier
-
Keys: Text, _Data
- USER : Terms of use
-
Keys: Language, Text
- USLT : Unsychronized
lyric/text transcription
-
Keys: Language, Description, Text
- WXXX : User defined URL link
frame
-
Keys: Description, URL
MP3::Tag, MP3::Tag::ID3v2
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|