Подтвердить что ты не робот

Кодировать аудио из getUserMedia() в .OGG в JavaScript

Итак, у меня есть этот проект HTML5, над которым я работаю, где я конвертирую приложение iOS в веб-приложение. Сопровождающая часть создания контента приложения - это аудиозапись, которую я пытаюсь воспроизвести на JavaScript без использования плагинов; до сих пор я смог записывать аудио из getUserMedia() и превращать его в WAV благодаря Recorder.js.

Теперь, однако, я немного потерян. В настоящее время у меня есть два отдельных вида: один для записи контента и один для воспроизведения его, но я не знаю, как получить экспортированную аудио формами Recorder.js в мою полезную нагрузку JSON для воспроизведения (я бы хотел, чтобы не форсировать сервер загрузка или загрузка клиента).

Итак, я думаю, что мой конкретный вопрос: как я могу взять объект blob (что-то, о чем я почти ничего не знаю), сделанный Recorder.js, и превратить его в необработанные данные или как-то отправить файл через JSON?забастовкa >

ОБНОВЛЕНИЕ: Я решил попробовать использовать инструмент speex.js(https://github.com/jpemartins/speex.js) для кодирования .OGG( намного меньше, чем .WAV). Однако я не уверен, как его использовать; демонстрационная страница, похоже, не работает для меня, и попытка вызвать функцию .encode() объекта Speex, по-видимому, не кодирует данные, я получаю нули в полях объектов. Кто-нибудь знает какие-либо ресурсы, где я могу узнать, как использовать этот тип инструмента?

4b9b3361

Ответ 1

Существует библиотека (лицензия MIT), которая должна работать, я считаю, что я видел, что эта точная библиотека используется для сохранения ogg файлов из аудиопотока getUserMedia на веб-сайте недавно. Я смутно помнил имя библиотеки, но я думаю, что это одно:

https://github.com/streamproc/MediaStreamRecorder/blob/master/AudioStreamRecorder/MediaRecorder.js

Весь проект на GitHub: https://github.com/streamproc/MediaStreamRecorder/

Так как кажется, что этого трудно добиться, возможно, по крайней мере стоит посмотреть на концепции, но я бы сказал, что это довольно продвинутый javascript, с которым мы имеем дело здесь...