MediaRecorder: свойство mimeType
Свойство mimeType только для чтения интерфейса MediaRecorder возвращает тип медиа MIME, который был указан при создании объекта MediaRecorder, или, если не был указан, выбран браузером. Это формат файла, который получился бы при записи всех записанных данных на диск.
Обратите внимание, что не все кодеки поддерживаются заданным контейнером; если вы записываете медиа с помощью кодека, который не поддерживается заданным контейнером медиа, полученный файл может работать ненадёжно или вообще не работать при попытке его воспроизведения. Ознакомьтесь с нашим руководством по типам и форматам медиа для получения информации о поддержке контейнеров и кодеков в различных браузерах.
Примечание: Термин «тип MIME» официально считается устаревшим; теперь эти строки официально называются типами медиа. Содержимое MDN Web Docs использует эти термины взаимозаменяемо.
Значение
Тип MIME медиа, описывающий формат записанной медиа, в виде строки. Эта строка может включать codecs параметр, предоставляющий подробную информацию о кодеках и конфигурациях кодеков, используемых медиа-регистратором.
Строки типов медиа стандартизированы организацией Internet Assigned Numbers Authority (IANA). Для получения официального списка определённых строк типов медиа обратитесь к статье Типы медиа на сайте IANA. Также ознакомьтесь с типами медиа, чтобы узнать больше о типах медиа и о том, как они используются в веб-контенте и веб-браузерами.
Примеры
if (navigator.mediaDevices) {
console.log("getUserMedia supported.");
const constraints = { audio: true, video: true };
const chunks = [];
navigator.mediaDevices
.getUserMedia(constraints)
.then((stream) => {
const options = {
audioBitsPerSecond: 128000,
videoBitsPerSecond: 2500000,
mimeType: "video/mp4",
};
const mediaRecorder = new MediaRecorder(stream, options);
m = mediaRecorder;
m.mimeType; // would return 'video/mp4'
// …
})
.catch((error) => {
console.error(error.message);
});
}
Изменение mimeType в options на 'video/mp4; codecs="avc1.424028, mp4a.40.2"' заставляет MediaRecorder попытаться использовать профиль AVC Constrained Baseline уровня 4 для видео и AAC-LC (Low Complexity) для аудио, что подходит для мобильных устройств и других ситуаций с ограниченными ресурсами.
Предполагая, что данная конфигурация приемлема для пользовательского агента, значение, возвращаемое позже m.mimeType , будет video/mp4; codecs="avc1.424028, mp4a.40.2".
Спецификации
| Спецификация |
|---|
| Запись потока медиа # dom-mediarecorder-mimetype |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
mimeType |
4947–49До Chrome 49 поддерживалось только видео, а не аудио. |
79 | 25Начиная с Firefox 71, поведениеmimeType более согласованно. Например, теперь он возвращает тип медиа даже после остановки записи. |
36 | 14.1 | 4947–49До Chrome Android 49 поддерживалось только видео, а не аудио. |
25 | 36 | 14 | 5.0 | 4947–49До WebView Android 49 поддерживалось только видео, а не аудио. |
См. также
- Использование API записи потоков медиа
- Кодеки в распространённых типах медиа
- Веб-диктофон: демонстрация MediaRecorder + getUserMedia + визуализация API Web Audio, разработанная Крис Миллсом (исходный код на GitHub.)
- Демонстрация записи потоков медиа simpl.info, разработанная Сэм Даттоном.
MediaDevices.getUserMedia()
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/mimeType