MediaRecorder.start()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Метод MediaRecorder.start()
(часть MediaRecorder API) используется для начала захвата медиа Blob
.
When the start()
method is invoked, the UA queues a task that runs the following steps:
- If the
MediaRecorder.state
is not "inactive", raise a DOMInvalidState
error and terminate these steps. if theMediaRecorder.state
is "inactive", continue on to the next step. - Set the
MediaRecorder.state
to "recording" and wait until media becomes available from thestream
passed intoNavigator.getUserMedia
. - Once data becomes available, raise a
MediaRecorder.start
event and start gathering the data into aBlob
(see FILE-API). - 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 aMediaRecorder.dataavailable
event containing the Blob of collected data, and start gathering a new Blob of data. IftimeSlice
has not been provided, continue gathering data into the original Blob. - When the
stream
is ended, setMediaRecorder.state
to "inactive" and stop gathering data. - Raise a
MediaRecorder.dataavailable
event containing the Blob of data. - 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.
Пример
...
record.onclick = function() {
mediaRecorder.start();
console.log("рекордер запущен");
}
...
Спецификации
Specification |
---|
MediaStream Recording # dom-mediarecorder-start |
Совместимость с браузерами
Смотрите также
- Использование MediaRecorder API
- Веб-диктофон: MediaRecorder + getUserMedia + Web Audio API от Chris Mills (исходники на Github.)
- simpl.info Пример использования MediaStream от Sam Dutton.
Navigator.getUserMedia