diff --git a/src/filereader.js b/src/filereader.js index a4f8149..172d465 100755 --- a/src/filereader.js +++ b/src/filereader.js @@ -13,6 +13,21 @@ var result = event.target.result; fncCallback(new BinaryFile(result)); }; + var isID3v2 = true; + reader.onprogress = function(event) { + if (isID3v2 === false || event.target.result.length < 28) { + return; + } + isID3v2 = (event.target.result.substr(0, 3) === "ID3"); + if (isID3v2) { + var data = new BinaryFile(event.target.result); + var size = ns.ID3v2.readSynchsafeInteger32At(6, data); + if (size > 0) { + fncCallback(data); + event.target.abort(); + } + } + }; reader.readAsBinaryString(file); } };