title | slug | l10n | ||
---|---|---|---|---|
MediaRecorder.requestData() |
Web/API/MediaRecorder/requestData |
|
{{APIRef("MediaStream Recording")}}
MediaRecorder.requestData()
メソッド(MediaStream 収録 API の一部)は、 {{domxref("MediaRecorder.dataavailable_event", "dataavailable")}} イベントを発生させるために使用します。これは、このメソッドを呼び出した時点での、キャプチャされたメディアの {{domxref("Blob")}} オブジェクトを含みます。その後、これを入手して操作することができます。
requestData()
メソッドを呼び出すと、ブラウザーは次の手順を実行するタスクをキューに入れます。
- {{domxref("MediaRecorder.state")}} が "inactive" であった場合は、DOM の
InvalidState
エラーを発生させ、これらの手順を終了します。 {{domxref("MediaRecorder.state")}} が "inactive" でなかった場合は、次の手順に進みます。 - {{domxref("MediaRecorder.dataavailable_event", "dataavailable")}} イベントを発生させます。これは現在キャプチャされているデータの {{domxref("Blob")}} を含む (Blob はイベントの
data
属性で利用可能です)。 - 新しい Blob を作成し、その後にキャプチャしたデータをそこに配置します。
requestData()
なし。
なし ({{jsxref("undefined")}})。
MediaRecorder
オブジェクトの {{domxref("MediaRecorder.state")}} が "recording"
でないときに requestData()
メソッドが呼び出されると、InvalidState
エラーが発生します — 記録が行われていないと、メディアをキャプチャできません。
captureMedia.onclick = () => {
mediaRecorder.requestData();
// これまでのデータのスナップショットを
// 使用可能にする ondataavailable が発生し、
// それから、キャプチャは新しい Blob で続行されます
};
{{Specifications}}
{{Compat}}
- MediaStream 収録 API の使用
- ウェブディクタフォン: MediaRecorder + getUserMedia + Web Audio API 可視化デモ、Chris Mills 著(GitHub のソース)。(英語)
- simpl.info の MediaStream 収録のデモ、Sam Dutton 著。(英語)
- {{domxref("Navigator.getUserMedia")}}