Как кодировать входной поток с микрофона с помощью Media Devices API / Java в mp3 без использования NodeJs - PullRequest
1 голос
/ 12 апреля 2019

Я пытаюсь работать с Google Cloud Speech API для преобразования аудио в текст.У меня есть рабочий прототип, где у меня есть файл mp3 / wav (предварительно записанный), который является правильным и принятым API для выполнения запроса при отправке в формате base64.Однако проблема, с которой я сейчас сталкиваюсь, заключается в том, что в другом прототипе, где я записываю звук от пользователя (на стороне клиента) и сохраняю его как mp3 / wav, base64 не соответствует типу файла (он видит его).как видео / webm вместо аудио / mp3 / audio / x-wav).

Sidenote: аудиозаписи в порядке и воспроизводимы.

Попытка сохранения файла BLOB-файла в формате mp3. Пробная запись.js

const mime = ['audio/wav', 'audio/mpeg', 'audio/webm', 'audio/ogg']
        .filter(MediaRecorder.isTypeSupported)[0];
        const mediaRecorder = new MediaRecorder(mediaStreamObj, {
        mimeType: mime
    });
//the stop event
mediaRecorder.onstop = (ev)=>{
            let blob = new Blob(chunks, { type : 'audio/mp3;' });
            chunks = [];
            let audioURL = window.URL.createObjectURL(blob);
            audioSave.src = audioURL;

}

Iожидается, что у вас будет файл с типом файла / mimetype audio / mp3, а не с video / webm

...