Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2021年4月.
* Some parts of this feature may have varying levels of support.
MediaStream 収録 API (MediaStream Recording API) は、単に Media Recording API または MediaRecorder API と呼ばれることもありますが、メディアキャプチャとストリーム API および WebRTC API と密接に関係しています。 MediaStream 収録 API を使用すると、MediaStream オブジェクトまたは HTMLMediaElement オブジェクトによって生成されたデータを分析、処理、またはディスクへの保存のためにキャプチャすることができます。 また、驚くほど簡単に作業できます。
MediaStream 収録 API は、MediaRecorder という 1 つの主要なインターフェイスで構成されており、これが MediaStream からデータを取得して処理のためにユーザーに配信するというすべての作業を行います。 データは、MediaRecorder の作成時にすでに指定した形式で、一連の dataavailable イベントによって配信されます。 その後、データをさらに処理するか、必要に応じてファイルに書き込むことができます。
ストリームを収録(recording、録音、録画)するプロセスは簡単です。
メモ: 収録されたメディアのスライスを含む個々の Blob は、必ずしも個別に再生できるわけではありません。 再生する前にメディアを組み立て直す必要があります。
収録中に問題が発生した場合は、 error イベントが MediaRecorder に送られます。 onerror イベントハンドラーを設定することで error イベントを監視できます。
ここでの例では、 MediaStream のソースとして HTML キャンバスを利用し、9 秒後に録画を停止します。
MediaRecorder オブジェクトのプロパティを使用して収録プロセスの状態を決定したり、pause() および resume() メソッドを使用してソースメディアの収録を一時停止したり再開したりすることもできます。
特定の MIME タイプがサポートされているかどうかを確認する必要がある場合は、それも可能です。 MediaRecorder.isTypeSupported() を呼び出すだけです。
カメラやマイクの入力を収録することが目的の場合は、MediaRecorder の構築プロセスを開始する前に、使用可能な入力機器を調べてください。 そのためには、navigator.mediaDevices.enumerateDevices() を呼び出して利用可能なメディア機器のリストを取得する必要があります。 その後、そのリストを調べて見込みがある入力ソースを特定し、さらに必要な基準に基づいてリストをフィルタリングすることもできます。
このコードスニペットでは、enumerateDevices() を使用して使用可能な入力機器を調べ、音声入力機器であるものを見つけて、<option> 要素を作成し、それを入力ソースピッカーを表す <select> 要素に追加します。
これと同じようなコードを使用して、ユーザーが使用したい機器のセットを制限することができます。
MediaStream 収録 API の使用方法の詳細については、MediaStream 収録 API の使用を参照してください。 これは、API を使用してオーディオクリップを収録する方法を示します。 2 番目の記事のメディア要素の収録では、<audio> 要素または <video> 要素からストリームを受信してキャプチャしたストリームを使用する方法(この場合は収録してローカルディスクに保存する方法)について説明します。
メディアデータのチャンク(chunk、大きな塊)が収録され終えるたびに、dataavailable 型の BlobEvent を使用して Blob 形式で消費者に配信されます。
MediaRecorderMediaStream 収録 API を実装する主要インターフェイス。
MediaRecorderErrorEventMediaStream 収録 API によって投げられたエラーを表すインターフェイス。 その error プロパティは、エラーが発生したことを示す DOMException です。
| MediaStream Recording |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2024年8月20日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.