MediaStream recording
BlobEvent インターフェイスは、Blob に関連付けられたイベントを表します。 これらの blob は、一般的にメディアコンテンツと関連付けられますが、必ずしもそうとは限りません。
Event BlobEvent
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 49 | 79 | 21 | 14 | 49 | 14 | |
| BlobEvent() コンストラクターは、新たに生成され Blob に関連付けられた BlobEvent オブジェクトを返します。 | 49 | 79 | 21 | 14 | 49 | 14 |
| BlobEvent.data は読み取り専用プロパティで、イベントに関連付けられた Blob を表します。 | 49 | 79 | 21 | 14 | 49 | 14 |
| timecode は BlobEvent インターフェイスの読み取り専用プロパティで、データ内の最初のチャンクのタイムスタンプと、このレコーダによって生成された最初の BlobEvent 内の最初のチャンクのタイムスタンプとの差を示します。 | 57 | 79 | | 14.1 | 57 | 14.5 |
| MediaRecorder は MediaStream 収録 API のインターフェイスで、メディアを簡単に収録するための機能を提供します。 これは、MediaRecorder.MediaRecorder コンストラクターを使用して作成します。 | 47 | 79 | 25 | 14.1 | 47 | 14 |
audioBitrateMode 実験的 MediaRecorder インターフェースの read-only プロパティである audioBitrateMode は、オーディオトラックのエンコードに使用されるビットレートモードを返します。 | 89 | 89 | | | 89 | |
| audioBitsPerSecond は MediaRecorder インターフェイスの読み取り専用のプロパティで、使用されている音声エンコーディングのビットレートを返します。 | 49 | 79 | 71 | 14.1 | 49 | 14.5 |
| dataavailable イベントは、MediaRecorder がメディアデータをアプリで使用するために引き渡すときに発生します。 データはデータを含む Blob オブジェクトで提供されます。 これは次の 4 つの状況で発生します。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| error は MediaRecorder インターフェイスのイベントで、エラーが発生したときに発行されます。 例えば、記録が許可されていない、またはサポートされていないコーデックを使用して試みられたなどです。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.isTypeSupported() は静的メソッドで、指定された MIME タイプがこのユーザーエージェントが収録できるものであれば true となる論理値を返します。 | 47 | 79 | 25 | 14.1 | 47 | 14 |
| MediaRecorder() コンストラクターは、新しい MediaRecorder オブジェクトを作成します。これが指定された MediaStream を記録します。 | 47 | 79 | 25 | 14.1 | 47 | 14 |
MediaRecorder (options parameter) options`パラメータ | 49 | 79 | 43 | 14.1 | 49 | 14 |
| mimeType は読み取り専用のプロパティで、 MediaRecorder オブジェクトを作成する際に指定された MIME メディア種別、または指定されていない場合は、ブラウザーによって選ばれたメディア種別を返すものです。これは、記録されたデータのすべてをディスクに書き込んだ結果のファイル形式です。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.pause() メソッド(MediaStream 収録 API の一部)は、メディアストリームの記録を一時停止するために使用します。 | 49 | 79 | 25 | 14.1 | 49 | 14.5 |
| pause は MediaRecorder インターフェイスのイベントで、 MediaRecorder.pause() メソッドを呼び出した際に発生します。 | 49 | 79 | 65 | 14.1 | 49 | 14.5 |
| MediaRecorder.requestData() メソッド(MediaStream 収録 API の一部)は、 MediaRecorder.dataavailable_event イベントを発生させるために使用します。これは、このメソッドを呼び出した時点での、キャプチャされたメディアの Blob オブジェクトを含みます。その後、これを入手して操作することができます。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.resume() メソッド(MediaStream 収録 API の一部)は、以前に一時停止していたメディアの記録を再開するために使用します。 | 49 | 79 | 25 | 14.1 | 49 | 14.5 |
| resume イベントは、MediaRecorder.resume() メソッドを呼び出した結果としてスローされます。 | 49 | 79 | 65 | 14.1 | 49 | 14.5 |
| MediaRecorder の start() メソッドは MediaStream 収録 API の一部であり、1 つ以上の Blob オブジェクトへのメディアの収録を開始します。 | 47 | 79 | 25 | 14.1 | 47 | 14 |
| start イベントは、MediaRecorder.start() メソッドを呼び出した結果として発生します。 この時点で、データは Blob に集められ始めます。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.state は読み取り専用プロパティで、現在の MediaRecorder オブジェクトの現在の状態を返します。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.stop() メソッド(MediaStream 収録 API の一部)は、メディアキャプチャを停止するために使用します。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| stop イベントは、MediaRecorder.stop() メソッドを呼び出した結果として、またはキャプチャしているメディアストリームが終了したときに発生します。 いずれの場合も、stop イベントの前に dataavailable イベントがあり、それまでにキャプチャされた Blob をアプリで使用できるようにします。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| MediaRecorder.stream は読み取り専用プロパティで、 MediaRecorder を作成したときに MediaRecorder() コンストラクターに渡したストリームを返します。 | 49 | 79 | 25 | 14.1 | 49 | 14 |
| videoBitsPerSecond` は MediaRecorder インターフェイスの読み取り専用プロパティは、使用されている動画エンコーディングのビットレートを返します。 | 49 | 79 | 71 | 14.1 | 49 | 14.5 |
- Firefox 58以前では、`getUserMedia()`で取得したストリームに対して`MediaStream.addTrack()`を呼び出し、その結果得られたストリームを記録しようとすると、追加されたトラックを含まない元のストリームのみが記録されてしまうという問題がありました(重大なバグ)。
- このブラウザでは部分的にしか実装されていません
- このイベントのインターフェースは `ErrorEvent` ではなく、単なる `Event` です。バグ 40791876 を参照してください。
- このブラウザでは部分的にしか実装されていません
- このイベントのインターフェースは `ErrorEvent` ではなく、単なる `Event` です。バグ 40791876 を参照してください。
- このブラウザでは部分的にしか実装されていません
- このイベントのインターフェースは `ErrorEvent` ではなく、単なる `Event` です。バグ 40791876 を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
- Firefox 71 以降、`mimeType` の動作はより一貫性のあるものになりました。例えば、録画が停止した後もメディアタイプが返されるようになりました。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome Android 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome Android 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (49)
- Chrome Android 49以前のバージョンでは、動画のみがサポートされており、音声はサポートされていません。
実務での使いどころ
-
MediaStream recording の活用
BlobEvent インターフェイスは、Blob に関連付けられたイベントを表します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。