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.

Примечание: 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.

Пример

js
...

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

...

Спецификации

Specification
MediaStream Recording
# dom-mediarecorder-start

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

BCD tables only load in the browser

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