In ReactJS Я использую MediaRecorder для записи звука с микрофона по следующему коду:
getUserMedia({ audio: true })
.then(stream => {
this.stream = stream;
const mime = ['audio/wav', 'audio/mpeg', 'audio/webm', 'audio/ogg']
.filter(MediaRecorder.isTypeSupported)[0];
this.mediaRecorder = new MediaRecorder(stream, {
mimeType: mime
});
console.log('MIME: ', mime);
this.mediaRecorder.start();
const audioChunks = [];
this.mediaRecorder.addEventListener('dataavailable', event => {
audioChunks.push(event.data);
});
this.mediaRecorder.addEventListener('stop', () => {
const audioBlob = new Blob(audioChunks, {
type: mime});
});
}).catch(error => { });
В моей консоли я получаю MIME: audio/webm
. Я сохраняю этот BLOB-объект в корзине S3, но когда я загружаю этот файл, тип файла меняется на WebM video (video/webm)
.
Любая идея, почему это воспринимается как видеофайл даже после предоставления правильного типа MIME. Я пробовал оба в Chrome и браузере Firebox.