@vasIvas

Как экспортировать audio в Blob?

По событию получаю объект event у которого target конвертирую в Blob
var blob = new Blob([event.target], {type: 'audio/mp3'});

и затем вывожу blob в консоль где наблюдаю -
Blob { size: 25, type: "audio/mp3" }
Размер говорит что я делаю что-то не так. Что?
И да, я подписываюсь под событие loadeddata возможно оно срабатывает раньше чем вся песня загрузится?

Частично ответ получил, но был бы рад, если бы кто-нибудь рассказал как сконвертировать в Blob уже имеющийся объект тега audio.
  • Вопрос задан
  • 485 просмотров
Решения вопроса 1
printf
@printf
Ем детей.
vasIvas: проще всего взять event.target.src, сконструировать XHR с этим урлом и таким образом скачать блоб. На самом деле он второй раз скачиваться не будет, а прочитается из кеша браузера (если разрешено кеширование).

var oReq = new XMLHttpRequest()
oReq.open("GET", event.target.src, true)
oReq.responseType = "arraybuffer"

oReq.onload = function(oEvent) {
  var blob = new Blob([oReq.response], {type: "audio/mp3"})
  // ...
}

oReq.send()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы