This library was originally made by Jacob Seidelin using ID3v1 for demo'ing his BinaryAjax library. [http://www.nihilogic.dk/labs/id3/]
You can also drag your local files here if it's supported by your browser
This library will only download the relevant data from the mp3 file whenever the webserver supports the HTTP Range feature, otherwise the entire file will be downloaded at the cost of degrading the performance of the library.
This library is not complete and there is still some features missing and/or going on:
Support for other types of charsets, at the moment only latin1, UTF-8 and UTF-16 are supported, these are the ones defined in the specification. However, the usage of local charsets has been common for a long time specially in Russia, Japan and China. This support can be achieved using jschardet and a proper string reader function.
Opera support, as soon as Opera supports "charset=x-user-defined" on XHR requests.
url - The URL of the mp3 file to read, this must reside on the same domain (document.domain).
cb - The callback function to invoke when the tags are loaded.
options - Optional parameters.
options.tags - The array of tags and/or shortcuts to read from the ID3 block. Default value is: ["title", "artist", "album", "track"]
options.dataReader - The function used to create the data reader out of a url. It receives (url, success: callback function that returns the data reader, fail: callback function to inform an error setting up the reader). By default it will be BufferedBinaryAjax.
url - The URL of the mp3 file to read, this must be the same value given to ID3.loadTags().
return value - This function will return the following object structure, for IDv1: