id3

Where is the ID3v2 documentation?

半城伤御伤魂 提交于 2021-02-11 14:49:04
问题 I'm looking for the ID3v2 documentation/norm. The official site id3.org seems to be unreachable. Is this specification still used ? (I'm wondering this because of the "downness" of the official website) 回答1: The availability of any website is unbound to the use of any specification, because even if one or both of it become outdated all files that used it until that date won't disappear magically at that date - software still needs to expect old files that have been crafted when "old"

Get the Ringtone title from RingtonePreference

邮差的信 提交于 2021-02-07 04:59:25
问题 I have a RingtonePreference that is used to select a ringtone that is broadcasted to a receiver used in an Alarm application. I would like to display the title (the titles displayed in the list you see when you choose the ringtone) of the selected ringtone in the summary of the RingtonePrefernce. Somehow get the ID3 tag? Some ringtones would be mp3 but not all so this might not be a good idea? What I do now is: SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences

ID3V2.3, ETCO Frame Event Format Clarification

放肆的年华 提交于 2021-01-29 09:49:13
问题 According to the informal standard, an ETCO frame is the frame header (ten bytes), followed by a time stamp format (one byte). This is then followed by a series of events of the form "Type of Event, Time Stamp" ( Type of Event is one byte, while Time Stamp is five bytes per event). How can someone figure out how many events there are? Would a program need to use the size field of the frame header? If all events are five bytes in length, what's the purpose of the 0xFF event, whose purpose is

TagLib sharp not editing artist

自古美人都是妖i 提交于 2021-01-27 05:46:23
问题 I'm trying to save new artist and title id3 tags into tracks. Loading tags from tracks working good, also editing title for track is working fine. But when i try to edit performer (artist) it didn't change anything. Here is the code public void renameID3(string artist,string title) { using (TagLib.File f = TagLib.File.Create(FInfo.FullName)) { f.Tag.Artists[0] = artist; //Both of them are not ... f.Tag.Performers[0] = artist; //working f.Tag.Title = title; //This works fine f.Save(); } } Plus

taglib : how to edit Album Artist?

你离开我真会死。 提交于 2020-02-02 13:36:48
问题 How to modify the "Album Artist" field of a MP3 file with the library TagLib ? Is there something similar to : f.tag()->setArtist("blabla"); ? 回答1: ID3v2 doesn't actually support a field called "album artist". iTunes uses the TPE2 frame, which is supposed to be: TPE2 The 'Band/Orchestra/Accompaniment' frame is used for additional information about the performers in the recording. For a complete list of frames see http://id3.org/id3v2.3.0#Declared_ID3v2_frames. To write that with TagLib, this

taglib : how to edit Album Artist?

限于喜欢 提交于 2020-02-02 13:36:25
问题 How to modify the "Album Artist" field of a MP3 file with the library TagLib ? Is there something similar to : f.tag()->setArtist("blabla"); ? 回答1: ID3v2 doesn't actually support a field called "album artist". iTunes uses the TPE2 frame, which is supposed to be: TPE2 The 'Band/Orchestra/Accompaniment' frame is used for additional information about the performers in the recording. For a complete list of frames see http://id3.org/id3v2.3.0#Declared_ID3v2_frames. To write that with TagLib, this

Why do MP3 files use Synchsafe Integers?

六月ゝ 毕业季﹏ 提交于 2020-01-20 03:25:25
问题 I started reading mp3-files in c++. All went well until I read the specs of the ID3-Tag. There is some information in the ID3v2-Header about its size stored in so-called Synchsafe Integers. That is a four-byte integer where the most significant bit of each byte is set to zero. I found out how to convert it to an ordinary integer, but I cannot stop asking myself why an integer value is stored in such an unnecessarily complicated way. I hope there is someone who can tell me why it is stored

Why doesn't memcpy work when copying a char array into a struct?

ⅰ亾dé卋堺 提交于 2020-01-06 20:01:29
问题 #define buffer 128 int main(){ char buf[buffer]=""; ifstream infile("/home/kevin/Music/test.mp3",ios::binary); infile.seekg(-buffer,ios::end); if(!infile || !infile.read(buf,buffer)){ cout<<"fail!"<<endl; } ID3v1 id3; cout<<sizeof(id3)<<endl; memcpy(&id3,buf,128); cout<<id3.header<<endl; } struct ID3v1{ char header[3]; char title[30]; char artist[30]; char album[30]; char year[4]; char comment[28]; bool zerobyte; bool track; bool genre; }; When I do the memcpy, it seems to be pushing too much

Why doesn't memcpy work when copying a char array into a struct?

左心房为你撑大大i 提交于 2020-01-06 20:00:11
问题 #define buffer 128 int main(){ char buf[buffer]=""; ifstream infile("/home/kevin/Music/test.mp3",ios::binary); infile.seekg(-buffer,ios::end); if(!infile || !infile.read(buf,buffer)){ cout<<"fail!"<<endl; } ID3v1 id3; cout<<sizeof(id3)<<endl; memcpy(&id3,buf,128); cout<<id3.header<<endl; } struct ID3v1{ char header[3]; char title[30]; char artist[30]; char album[30]; char year[4]; char comment[28]; bool zerobyte; bool track; bool genre; }; When I do the memcpy, it seems to be pushing too much

Mutagen : how to extract album art properties?

左心房为你撑大大i 提交于 2020-01-04 02:29:06
问题 I am trying to get properties (just width & heigth so far, but probably more later) of an album art picture from an mp3 file using python 3.7.1 and mutagen 1.42, but nothing seems to work so far. I am yet able to extract some other information correctly The doc is telling about APIC, but trying to display all tags doesn't show anything related to any picture (and my mp3 test files does have album pictures) : import os,sys from mutagen.mp3 import MP3 from mutagen.easyid3 import EasyID3 song