我想在我的瀏覽器中編寫一個小型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