--- title: MediaRecorder.start() slug: Web/API/MediaRecorder/start tags: - API - Audio - Media - Media Capture - MediaRecorder - MediaStream Recording - MediaStream Recording API - Method - Recording Media - Reference - Video - start translation_of: Web/API/MediaRecorder/start ---
MediaStream Recording API の一部である {{domxref("MediaRecorder")}} のメソッド start()
は、1つ以上の {{domxref("Blob")}} オブジェクトへのメディアの記録を開始します。 メディアの全期間を単一の Blob
に(または {{domxref("MediaRecorder.requestData", "requestData()")}} を呼び出すまで)記録することも、一度に記録するミリ秒数を指定することもできます。 その後、その量のメディアが記録されるたびに、記録されたメディアに対応できるようにイベントが配信され、その間に、メディアの次のスライスを記録するための新しい Blob
が作成されます。
MediaRecorder
の {{domxref("MediaRecorder.state", "state")}} が "inactive"
であると仮定すると、start()
は state
を "recording"
に設定してから、入力ストリームからメディアのキャプチャを開始します。 タイムスライス期間が経過するか、ソースメディアが終了するまで、Blob
が作成され、そこにデータが収集されます。 Blob
がその時点まで満たされるたびに(タイムスライス期間または、スライス期間が指定されていない場合はメディアの終わり)、{{event("dataavailable")}} イベントが記録されたデータとともに MediaRecorder
に送られます。 ソースがまだ再生中の場合は、新しい Blob
が作成され、そこに記録が続きます。
ソースストリームが終了すると、state
は "inactive"
に設定され、データ収集は停止します。 最後の {{event("dataavailable")}} イベントが MediaRecorder
に送られ、その後に {{event("stop")}} イベントが続きます。
注: ブラウザーが記録を開始または記録を続行できない場合は、{{domxref("DOMError")}} イベントを発生させようとし、続いて収集した Blob を含む {{domxref("MediaRecorder.dataavailable")}} イベントと {{domxref("MediaRecorder.stop")}} イベントを発生させようとします。
MediaRecorder.start(timeslice)
timeslice
{{optional_inline}}Blob
が取得され、メディアの記録を継続する新しい Blob
の作成のきっかけがない限り、メディア期間全体が単一の Blob
に記録されます。undefined
.
すぐに検出できるエラーは DOM 例外としてスローされます。 他のすべてのエラーは、MediaRecorder
オブジェクトに送られた {{event("error")}} イベントを通じて報告されます。 これらのエラーに対応するために {{domxref("MediaRecorder.onerror", "onerror")}} イベントハンドラを実装できます。
InvalidStateError
MediaRecorder
は inactive
状態ではありません。 すでに記録中の場合は、メディアの記録を開始できません。 {{domxref("MediaRecorder.state", "state")}} プロパティを参照してください。SecurityError
UnknownError
... record.onclick = function() { mediaRecorder.start(); console.log("レコーダー起動"); } ...
仕様 | 状態 | コメント |
---|---|---|
{{SpecName("MediaStream Recording", "#widl-MediaRecorder-start-void-long-timeslice", "MediaRecorder.start()")}} | {{Spec2("MediaStream Recording")}} | 初期定義 |
{{Compat("api.MediaRecorder.start")}}