Использование файла blobs на реакции - PullRequest
0 голосов
/ 26 сентября 2018

Я создал приложение, которое скачивает архив с сервера.Этот файл содержит несколько mp3-файлов.Я хотел бы извлечь этот zip-файл в браузере клиента и после попытки воспроизвести его на HTML-теге.

Я уже преобразовал извлеченные файлы в байтовый массив на клиенте и после преобразования каждого байтового массива на объектах BLOB-объектов.Я хотел бы сейчас просто запустить этот звук на аудио теге, но это не работает.

Вот мой код, который отвечает за извлечение zip-файла и преобразование его в BLOB-объект.Я использую реагировать JS.

export const extractFilesFromZip = blobFile => {
    return new Promise((resolve) => {
        const zip = new JSZip();
        zip.loadAsync(blobFile).then(zipFiles => {
            const readedFiles = [];

            for(let key in zipFiles.files){
                const binary = zipFiles.files[key]._data.compressedContent;
                const blob = new Blob([binary], {type: 'audio/ogg'});
                const blobUrl = URL.createObjectURL(blob);
                readedFiles.push({name: key, blobUrl: blobUrl});
            }

            resolve(readedFiles);
        });
    })
}

<audio controls autoPlay
 src={`${decompresedSounds[currentPlayingSoundIndex].blobUrl}`} type="audio/ogg">
 </audio>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...