使用MIME
类型来确保在不同浏览器之间MediaRecorder的视频格式得到兼容。下面是一个代码示例:
var options = {mimeType: 'video/webm;codecs=vp9'};
if (!MediaRecorder.isTypeSupported(options.mimeType)) {
console.error(`${options.mimeType} is not supported`);
options = {mimeType: 'video/webm;codecs=vp8'};
if (!MediaRecorder.isTypeSupported(options.mimeType)) {
console.error(`${options.mimeType} is not supported`);
options = {mimeType: 'video/mp4'};
if (!MediaRecorder.isTypeSupported(options.mimeType)) {
console.error(`${options.mimeType} is not supported`);
options = {mimeType: ''};
}
}
}
var mediaRecorder = new MediaRecorder(stream, options);
该代码会尝试使用最流行的视频格式来录制视频,并且若一个格式不被支持,则尝试使用另一个格式。如果没有任何支持的格式,则会使用默认值。这样做可以确保在不同浏览器之间 MediaRecorder 的视频格式得到兼容。