Navigator.getUserMedia()

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

Navigator.getUserMedia() メソッドは、最大1系統の動画入力機器 (カメラや共有画面など) および最大1系統の音声入力機器 (マイクなど) を MediaStream のソースとして使用する許可をユーザーに求めます。

許可が与えられた場合、それらの機器から動画や音声のトラックを持つ MediaStream が、指定された成功コールバックに配信されます。許可が拒否された場合や、互換性のある入力機器が存在しない場合、その他のエラー条件が発生した場合は、何が問題となったかを説明する MediaStreamError オブジェクトを伴ってエラーコールバックが実行されます。ユーザーがまったく選択をしなかった場合は、どちらのコールバックも実行されません。

これは古いメソッドです。代わりに新しい navigator.mediaDevices.getUserMedia() を使用してください。技術的には非推奨ではありませんが、この古いコールバックのバージョンはそのようにマークされています。

構文

navigator.getUserMedia(constraints, successCallback, errorCallback);

引数

constraints
要求するメディアの形式を指定する MediaStreamConstraints オブジェクト。詳細は、現在の MediaDevices.getUserMedia() メソッド下の constraints セクションと、能力と制約と設定を参照してください。
successCallback
メディアアクセスの要求が承認されたときに呼び出される関数です。この関数は、メディアストリームを含む MediaStream オブジェクトの単一の引数で呼び出されます。コールバックは、次の例のようにストリームを任意のオブジェクト (<audio><video> 要素など) に割り当てることができます。
function(stream) {
   var video = document.querySelector('video');
   video.srcObject = stream;
   video.onloadedmetadata = function(e) {
      // Do something with the video here.
   };
}
errorCallback
呼び出しが失敗した場合、errorCallback で指定され、MediaStreamError が唯一の引数に与えられた関数が呼び出されますこのオブジェクトは、DOMException をひな形としています。エラーコードは以下のとおり:

返値

undefined.

エラー

{{page("/ja/docs/Web/API/MediaDevices/getUserMedia", "Errors")}}

幅と高さ

これは、様々のブラウザの接頭辞に対処したコードを含む、getUserMedia() の使用例です。ただし、これは非推奨の使用方法なので注意してください。現在の API の使用例は、MediaDevices.getUserMedia() 下の セクションを参照してください。

navigator.getUserMedia = navigator.getUserMedia ||
                         navigator.webkitGetUserMedia ||
                         navigator.mozGetUserMedia;

if (navigator.getUserMedia) {
   navigator.getUserMedia({ audio: true, video: { width: 1280, height: 720 } },
      function(stream) {
         var video = document.querySelector('video');
         video.srcObject = stream;
         video.onloadedmetadata = function(e) {
           video.play();
         };
      },
      function(err) {
         console.log("The following error occurred: " + err.name);
      }
   );
} else {
   console.log("getUserMedia not supported");
}

許可設定

インストール可能アプリ (例えば Firefox OS アプリ) で getUserMedia() を使用するには、次のどちらか、または両方の項目をマニフェストファイルに記述する必要があります:

"permissions": {
  "audio-capture": {
    "description": "Required to capture audio using getUserMedia()"
  },
  "video-capture": {
    "description": "Required to capture video using getUserMedia()"
  }
}

詳しい情報は、permission: audio-capture および permission: video-capture を参照してください。

ブラウザーの互換性

BCD tables only load in the browser

新しいコードでは代わりに Navigator.mediaDevices.getUserMedia() (en-US) を使用してください。

関連情報