我想在我的浏览器中编写一个小型MP3播放器。所有的mp3文件都保存在本地。Combine ActiveXObject和readAsBinaryString()
所以,我必须使用
var filePath = '...';
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.GetFile(filePath);
后来
var oFReader = new FileReader();
oFReader.readAsBinaryString(file);
但我得到的错误,该对象不支持 “readAsBinaryString()”。所以,我认为对象“文件”不是完全相同的对象,如预期的那样。
你能帮我吗?我怎样才能组合ActiveXObject()和readAsBinaryString()?
非常感谢您的帮助!问题是:我必须读取ID3v2标签 - 因此,我必须读取二进制字符串...也许我可以通过ActiveXObject()读取二进制字符串并将其发送给ID3读取函数 – user2089120 2013-02-20 07:58:27
它实际上是Microsoft建议删除readAsBinaryString(),因为与使用ArrayBuffer进行存储相比,效率较低。因此,等效方法是[readAsArrayBuffer()](http://www.w3.org/TR/FileAPI/#readAsArrayBuffer)。为了兼容性的目的,我建议编写一个函数,以正确检测哪个方法可用并实现两者 - 如果可用,则优先使用readAsArrayBuffer()。 – 2013-02-20 12:19:36
只是为了理解它......当我使用readAsArrayBuffer()时,Blob对象仍然是必需的,对吧? – user2089120 2013-02-20 19:09:00