MediaRecorder.start()

Метод MediaRecorder.start() (часть MediaRecorder API) используется для начала захвата медиа Blob.

When the start() method is invoked, the UA queues a task that runs the following steps:

  1. If the MediaRecorder.state is not "inactive", raise a DOM InvalidState error and terminate these steps. if the MediaRecorder.state is "inactive", continue on to the next step.
  2. Set the MediaRecorder.state to "recording" and wait until media becomes available from the stream passed into Navigator.getUserMedia.
  3. Once data becomes available, raise a MediaRecorder.start event and start gathering the data into a Blob (see FILE-API).
  4. If the timeSlice argument has been provided, once that many milliseconds of data have been collected — or a minimum time slice imposed by the UA, whichever is greater — raise a MediaRecorder.dataavailable event containing the Blob of collected data, and start gathering a new Blob of data. If timeSlice has not been provided, continue gathering data into the original Blob.
  5. When the stream is ended, set MediaRecorder.state to "inactive" and stop gathering data.
  6. Raise a MediaRecorder.dataavailable event containing the Blob of data.
  7. Raise a MediaRecorder.stop event.

Note: If the browser is unable to start recording or continue recording, it will raise a DOMError event, followed by a MediaRecorder.dataavailable event containing the Blob it has gathered, followed by the MediaRecorder.stop event.

Синтаксис

MediaRecorder.start(timeslice)

Параметры

timeslice Необязательный
Этот параметр принимает значение в миллисекундах, и переопределяет длину куска захвата медиа для возвращения в каждом Blob. Если не указан, то все медиа данные будут занесены в один Blob, только если не был вызван метод MediaRecorder.requestData.

Ошибки

An InvalidState error is raised if the start() method is called while the MediaRecorder object’s MediaRecorder.state is not "inactive" — it makes no sense to start media capture if it is already happening.

Пример

...

  record.onclick = function() {
    mediaRecorder.start();
    console.log("рекордер запущен");
  }

...

Specifications

Specification Status Comment
MediaStream Recording
Определение 'MediaRecorder.start()' в этой спецификации.
Рабочий черновик Initial definition

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
startChrome Полная поддержка 47Edge Нет поддержки НетFirefox Полная поддержка 25IE ? Opera Полная поддержка 36Safari ? WebView Android Полная поддержка 47Chrome Android Полная поддержка 47Firefox Android Полная поддержка 25Opera Android Полная поддержка 36Safari iOS ? Samsung Internet Android Полная поддержка 5.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна

Смотрите также