Я пытаюсь записать звук в своем проекте Angular.Для этого я использую MediaStream Recording API (https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API).
. Он записывает мой аудиовход, и я могу загрузить аудиофайл в соответствии с типом, который я ему предоставляю. Для этого я использую этот биткода.
navigator.mediaDevices.getUserMedia({audio: true, video: false})
.then(stream => {
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
mediaRecorder.ondataavailable = event => {
audioChunks.push(event.data);
this.translate(audioChunks);
};
this.stopRecording = setTimeout(async() => {
await mediaRecorder.stop();
}, 5000);
});
blob = new Blob(audio, { 'type' : 'audio/x-flac; rate=44100; codecs=opus' });
url = window.URL.createObjectURL(blob);
После этого я отправляю данные как byteArray в мой REST API и отправляю их в Google Speech API v2, используя (https://www.google.com/speech-api/v2/recognize?)
Теперь это работает, когда ясам создаю аудиофайл, но когда я использую MediaRecorder, ответ, который я получаю, пуст. Теперь я проверил свойства аудиофайлов и вижу, что некоторые свойства отсутствуют (длина звука и битрейт). Помимо свойств, я слышу аудио этихфайлы.
Есть ли способ добавить эти свойства или есть лучший API для этого?