Итак, у меня есть этот проект HTML5, над которым я работаю, где я конвертирую приложение iOS в веб-интерфейс. Сопровождающая часть создания контента приложения - это аудиозапись, которую я пытаюсь воспроизвести на JavaScript без использования плагинов; до сих пор я смог записывать аудио из getUserMedia() и превращать его в WAV благодаря Recorder.js.Кодирование звука из getUserMedia() в .OGG в JavaScript
Теперь, однако, я немного потерян. В настоящее время у меня есть два отдельных вида: один для записи контента и один для воспроизведения его, но я не знаю, как получить экспортированную аудио формами Recorder.js в мою полезную нагрузку JSON для воспроизведения (я бы хотел, чтобы не форсировать сервер загрузка или загрузка клиента).
Я думаю, что мой конкретный вопрос: как я могу взять объект blob (что-то, о чем я почти ничего не знаю), сделанный Recorder.js, и превратить его в необработанные данные или как-то отправить файл через JSON?
UPDATE: Я решил попробовать и использовать инструмент speex.js (https://github.com/jpemartins/speex.js) для кодирования .OGG (намного меньше, чем .WAV). Однако я не уверен, как его использовать; демонстрационная страница, похоже, не работает для меня, и попытка вызвать функцию .encode()
объекта Speex, похоже, фактически не кодирует данные, я получаю нули в полях объектов. Кто-нибудь знает какие-либо ресурсы, где я могу узнать, как использовать этот тип инструмента?
Я также пытаюсь установить что-то с помощью getUsetMedia, и я попробовал несколько учебных пособий, но я все еще иногда бывает сложно. Что вы подразумеваете под полезной нагрузкой JSON для воспроизведения? У вас есть тег '
И если вы хотите преобразовать Blob в текст, вы можете взглянуть на [FileReader] (https://developer.mozilla.org/en-US/docs/Web/API/FileReader?redirectlocale=en-US&redirectslug = DOM% 2FFileReader # readAsText% 28% 29) объект. Методы этого берут Blob как аргумент и «конвертируют» его в текст, который я думаю. Но я не уверен, как использовать его в точности или если он даже делает то, что я думаю. У меня не было возможности еще раз взглянуть на него. – basilikum
Спасибо, я просто смотрел на FileReader. То, что я подразумевал под «необработанными данными», было фактическими данными, содержащимися в файле .WAV, экспортированном рекордером; так как это в конечном итоге может быть отправлено между iPad и браузером, возможность отправки файла .WAV будет очень полезной. Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как отправлять фактические данные файла .WAV, потому что у меня есть только объект blob с типом и длиной, без видимых данных. – twchapman