区分id3v1和id3v2(官网)
id3v2的属性值太多了,就不截图了,想看直接去官网看
我们的代码业务一般就是读取展示属性值以及id3v1和id3v2的区分,直接看代码。
binaryajax.js和id3.js的git 地址:https://github.com/bailyxu/js_demol.git
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>mp3</title> <script type="text/javascript" src="binaryajax.js"></script> <script type="text/javascript" src="id3.js"></script> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> </head> <style> #id3 { background: #faf; } #id1 { background: #faa; margin-top:20px; } #id2 { background: #eaa; margin-top:20px; } </style> <body> <pre id="id3"></pre> <pre id="id2"></pre> <pre id="id1"></pre> <script type="text/javascript"> //id3v2文件 var file = "Isobel Campbell - Are You Going to Leave Me.mp3"; var file2 = "Ìïð¥Õç - 04.²»×í²»»á.mp3"; //id3v1文件 var file1 = "11.025kHz_64Kbps_DC(2.5).mp3"; ID3.loadTags(file, ()=> { var fileContent = ID3.getAllTags(file) console.log(fileContent); $("#id3").text(JSON.stringify(fileContent, null, 4)); }); ID3.loadTags(file2, ()=> { var fileContent = ID3.getAllTags(file2) console.log(fileContent); $("#id2").text(JSON.stringify(fileContent, null, 4)); }); ID3.loadTags(file1, ()=> { var fileContent = ID3.getAllTags(file1) console.log(fileContent); $("#id1").text(JSON.stringify(fileContent, null, 4)); }); </script> </body> </html>输出结果:
//id3v1 { album: "" artist: "" comment: "" genre: "Blues" title: "" track: 82 version: "1.1" //版本为1.xx的文件就是id3v1音乐 year: "2003" } //id3v2 { "version": "2.3.0", //版本为2.xx的文件就是id3v2音乐 "major": 3, "revision": 0, "flags": { "unsynchronisation": false, "extended_header": false, "experimental_indicator": false }, "size": 79603, "title": "Are You Going to Leave Me?", "artist": "Isobel Campbell", "album": "Milk White Sheets", "track": "11", "TPE1": { "id": "TPE1", "size": 16, "description": "Lead performer(s)/Soloist(s)", "data": "Isobel Campbell" }, "TIT2": { "id": "TIT2", "size": 27, "description": "Title/songname/content description", "data": "Are You Going to Leave Me?" }, "TALB": { "id": "TALB", "size": 18, "description": "Album/Movie/Show title", "data": "Milk White Sheets" }, "TRCK": { "id": "TRCK", "size": 3, "description": "Track number/Position in set", "data": "11" } }注意:可能会报跨域的错误,所以尽量在webstorm之类的带有web server的编辑器中打开