Я использую API MediaRecorder для записи некоторых медиафайлов на странице. В моей инициализации MediaRecorder я не указываю тип содержимого, поскольку мне ничего особенного не требуется. Браузер может выбрать то, что он хочет.
var mediaRecorder = new MediaRecorder(stream);
Однако, когда приходит время сохранить эту запись, мне нужно знать mimeType для большого двоичного объекта, чтобы я мог определить разумное расширение имени файла.
Свойство MediaRecorder.mimeType — это то, что мне нужно, но это пустая строка. Он не устанавливает 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
ArrayBuffer
? Не могли бы вы предоставить пользователю возможность выбрать типMIME
для записи до начала записи? Затем установитеBlob
type
на выбранныйMIME
вместо разрешения браузеру выбирать типMIME
; который, кажется, устанавливает пустую строку? Вы также можете использоватьisTypeSupported
, чтобы определить, может ли браузер воспроизводить определенный тип мультимедиа. - person guest271314   schedule 15.07.2016