Я хотел был бы закодировать маленький mp3-плеер в моем браузере. Все mp3-файлы сохраняются локально.Комбинация 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
Это было фактически Microsoft который предложил сбросить readAsBinaryString(), потому что он был неэффективен по сравнению с хранением его с помощью ArrayBuffer. Следовательно, эквивалентный метод будет [readAsArrayBuffer()] (http://www.w3.org/TR/FileAPI/#readAsArrayBuffer). В целях совместимости я бы рекомендовал написать функцию, которая должным образом определяет, какой метод доступен и реализуется как с предпочтением readAsArrayBuffer(), если он доступен. –
Просто, чтобы понять это правильно ... когда я использую readAsArrayBuffer(), объект Blob по-прежнему необходим, правильно? – user2089120