Я использую API MediaRecorder для записи некоторых носителей на странице. В моей инициализации MediaRecorder я не указываю тип содержимого, поскольку я не требую ничего в частности. Браузер может выбрать то, что он хочет.Получение mimeType из MediaRecorder, который не был инициализирован с помощью mimeType
var mediaRecorder = new MediaRecorder(stream);
Однако, когда приходит время, чтобы сохранить эту запись, мне нужно знать MIMETYPE для сгустка, и поэтому я могу определить разумное расширение имени файла.
MediaRecorder.mimeType proprety - это то, что я хочу, но это пустая строка. Он не устанавливает mimeType
по умолчанию для MediaRecorder, поэтому я, похоже, не знаю, что такое по умолчанию mimeType
.
mediaRecorder.onstop = function (e) {
var mediaFileUrl = window.URL.createObjectURL(
new Blob(chunks, {type: /* TODO: mime type here */})
);
$('<a>').attr({
href: mediaFileUrl,
download: 'Recording.?????' // TODO: Use mime type to figure out file name extension
})[0].click();
window.URL.revokeObjectURL(mediaFileUrl);
chunks = [];
}
Что такое 'chunks'? – guest271314
@ guest271314 Массив, содержащий сегменты кодированных носителей. – Brad
Закодировано в каком формате? Является ли 'chunks'' ArrayBuffer'? Не могли бы вы предоставить пользователю возможность выбрать тип 'MIME' для записи до того, как начнется запись? Затем установите 'Blob'' type' в значение 'MIME', вместо того чтобы разрешить браузеру выбрать тип« MIME »; который, как представляется, устанавливает пустую строку? Вы также можете использовать 'isTypeSupported', чтобы определить, может ли браузер воспроизводить определенный тип медиа. – guest271314