2014-12-11 5 views
2

Я записываю аудио в браузере и хотел сохранить эту запись на сервере с помощью ajax-вызова.как декодировать base64 аудиоданные в формат wav

Я использовал регистрационную библиотеку для записи в браузере html5 и ее работе.

Так что я хочу сделать только для того, чтобы декодировать данные blob/base64, чтобы я мог отправить эти данные на сервер для сохранения. Вот мой код.

Я преобразовал данные больших двоичных объектов в base64

var reader = new FileReader(); 
        reader.onload = function() { 

         var dataUrl = reader.result; 
         var base64 = dataUrl.split(',')[1]; 
/*base64 this needs to be decoded*/ 

        }; 
        reader.readAsDataURL(blob); 
       }); 
+0

«base64» не является аудиоформатом. Просто сделайте 'base64_decode' на сервере и сохраните его как файл соответствующего расширения ... –

+0

На самом деле, у меня нет доступа к серверу. Я могу отправлять данные и имя файла только через ajax. –

+0

Ну, это глупо. В этом случае вы хотите, чтобы 'window.atob (base64)' был декодирован на стороне клиента. Я бы хотел похлопать идиота, который думал, что «atob» было хорошим именем для «decode base64 data» ... –

ответ

2

Вместо использования base64 строки я использовал «dataUrl» из моего кода и хранения этой «dataUrl» данных на сервер с помощью Ajax.

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

var audio_obj = new Audio(); 
audio_obj = data; //ajax response data 
audio_obj.play(); 
+0

Знаете ли вы, как я могу добавить кодированные данные Base64 в аудио. – TheTechGuy

Смежные вопросы