MediaRecorder.requestData()
MediaRecorder.requestData()
メソッド(MediaStream Recording API の一部)は、このメソッドを呼び出したときにあった、キャプチャされたメディアの Blob
オブジェクトを含む dataavailable
イベントを発生させるために使用します。 その後、これを入手して操作することができます。
requestData()
メソッドを呼び出すと、ブラウザーは次の手順を実行するタスクをキューに入れます。
MediaRecorder.state
が"recording"
でない場合は、DOM のInvalidState
エラーを発生させてこれらの手順を終了します。MediaRecorder.state
が"recording"
の場合は、次の手順に進みます。- 現在キャプチャされているデータの
Blob
を含むdataavailable
イベントを発生させます(Blob
はイベントのdata
属性で利用可能です)。 - 新しい
Blob
を作成し、その後にキャプチャしたデータをそこに配置します。
構文
MediaRecorder.requestData()
エラー
MediaRecorder
オブジェクトの MediaRecorder.state
が "recording"
でないときに requestData()
メソッドが呼び出されると、InvalidState
エラーが発生します — 記録が行われていないと、メディアをキャプチャできません。
例
...
captureMedia.onclick = function() {
mediaRecorder.requestData();
// これまでのデータのスナップショットを
// 使用可能にする ondataavailable が発生し、
// それから、キャプチャは新しい Blob で続行されます
}
...
仕様
仕様 | 状態 | コメント |
---|---|---|
MediaStream Recording MediaRecorder.requestData() の定義 |
草案 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- MediaStream Recording API の使用
- ウェブディクタフォン: MediaRecorder + getUserMedia + Web Audio API 可視化デモ、Chris Mills 著(Github のソース)。(英語)
- simpl.info の MediaStream Recording のデモ、Sam Dutton 著。(英語)
MediaDevices.getUserMedia