J'utilise l'API MediaRecorder pour enregistrer certains médias sur une page. Dans mon initialisation MediaRecorder, je ne spécifie pas le type de contenu, car je n'ai besoin d'aucun élément particulier. Le navigateur peut choisir ce qu'il veut.Obtention du mimeType à partir d'un MediaRecorder qui n'a pas été initialisé avec un mimeType
var mediaRecorder = new MediaRecorder(stream);
Cependant, quand vient le temps de sauver que l'enregistrement, je dois connaître le mimeType pour le blob, et je peux déterminer une extension de nom de fichier raisonnable.
La propriété MediaRecorder.mimeType est ce que je veux, mais c'est une chaîne vide. Il ne définit pas mimeType
par défaut pour MediaRecorder, donc je n'ai apparemment aucun moyen de savoir ce que le mimeType
par défaut est.
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 = [];
}
Qu'est-ce que '' chunks''? – guest271314
@ guest271314 Tableau contenant des segments de média codés. – Brad
Encodé dans quel format? Est-ce que 'chunks' est un' ArrayBuffer'? Pourriez-vous fournir à l'utilisateur l'option de choisir un type 'MIME' à enregistrer avant le début de l'enregistrement? Ensuite, réglez 'Blob'' type' sur 'MIME' sélectionné, au lieu de permettre au navigateur de sélectionner un type' MIME'; qui semble être en train de définir une chaîne vide? Vous pouvez également utiliser 'isTypeSupported' pour déterminer si le navigateur peut lire un type de média spécifique. – guest271314