MediaRecorder.MediaRecorder()
MediaRecorder()
конструктор MediaRecorder
объекта который будет делать запись переданного MediaStream
.
Синтаксис
var mediaRecorder = new MediaRecorder(stream[, options]);
Параметры
stream
- Объект потока
MediaStream
источника из которого будет производиться запись. Может быть потоком, созданнымnavigator.mediaDevices.getUserMedia()
или<audio>
,<video>
или<canvas>
элементами. -
options
Необязательный -
Объект, содержащий следующие свойства:
mimeType
:mime
тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объектаMediaRecorder
. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или используйте параметр codecs или параметрprofiles
для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определённого типа из свойстваmimeType
, вызывая методMediaRecorder.isTypeSupported()
(en-US).audioBitsPerSecond
: Скорость записи медиа данных аудио.videoBitsPerSecond
: Скорость записи медиа данных видео.bitsPerSecond
: Скорость записи медиаданных аудио и видео. Может определяться вместо верхних двух. Если определяется вместе с одним из свойств выше, имеет меньший приоритет, и используется вместо отсутствующей настройки выше..
Если значения битов в секунду не указаны для видео и / или аудио, для видео по умолчанию принимается значение 2,5 Мбит / с, а для аудио по умолчанию используется адаптивный режим, в зависимости от частоты дискретизации и количества каналов.
Исключения
NotSupportedError
- Определяет MIME тип, не поддерживающийся браузером.
Пример
В этом примере показано, как создать медиа рекордер для указанного потока, чья скорость передачи звука составляет 128 Кбит / с, а скорость передачи видео - 2,5 Мбит / с. Записанные мультимедийные данные будут храниться в контейнере MP4 (поэтому, если вы соберёте порции мультимедийных данных и сохраните их на диск, они будут в файле с разрешением MP4).
...
if (navigator.mediaDevices.getUserMedia) {
var constraints = { audio: true, video: true };
var chunks = [];
var onSuccess = function(stream) {
var options = {
audioBitsPerSecond : 128000,
videoBitsPerSecond : 2500000,
mimeType : 'video/mp4'
}
var mediaRecorder = new MediaRecorder(stream,options);
m = mediaRecorder;
...
Спецификации
Specification | Status | Comment |
---|---|---|
MediaStream Recording | Рабочий черновик | Initial definition |
Совместимость с браузерами
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 47 | 25.0 (25.0) | Нет | Нет | Нет |
options object | Нет | 43.0 (43.0) | Нет | Нет | Нет |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | Нет | 47 | 25.0 (25.0) | 1.3[1] | Нет | Нет | Нет | 47 |
[1] The initial Firefox OS implementation only supported audio recording.
Смотрите также
- Использование MediaRecorder API
- Веб диктофон : MediaRecorder + getUserMedia + Web Audio API visualization demo, by Chris Mills (source on Github.)
- simpl.info MediaStream Recording demo, by Sam Dutton.
Navigator.mediaDevices.getUserMedia()
(en-US)