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
をひな形としています。エラーコードは以下のとおり:
返値
エラー
{{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) を使用してください。
関連情報
- この非推奨のメソッドに代わる
MediaDevices.getUserMedia()
。 - WebRTC (en-US) - この API の前置きページ。
- MediaStream API (en-US) - メディアストリームオブジェクト向けの API。
- Taking webcam photos (en-US) -
getUserMedia()
を使って、動画ではなく写真を撮るためのチュートリアル。