ImageCapture: getPhotoCapabilities() メソッド
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
getPhotoCapabilities()
は ImageCapture
インターフェイスのメソッドで、利用できる構成オプションの範囲を格納したオブジェクトを解決するプロミス (Promise
) を返します。
構文
getPhotoCapabilities()
引数
なし。
返値
以下のプロパティを持つオブジェクトに解決するプロミス (Promise
) です。
redEyeReduction
-
"never"
、"always"
、"controllable"
のいずれかを返します。"controllable"
の値は、端末の赤目軽減がユーザーによって制御できるということを意味しています。 imageHeight
-
ユーザーエージェントが対応している画像の高さの範囲を示すオブジェクトを返します。
imageWidth
-
ユーザーエージェントが対応している画像の幅の範囲を示すオブジェクトを返します。
fillLightMode
-
利用できるフィルライトオプションの配列を返します。オプションには
auto
、off
、flash
があります。
例外
InvalidStateError
DOMException
-
コンストラクターで渡した
MediaStreamTrack
のreadyState
プロパティがlive
でない場合に発生します。 OperationError
DOMException
-
何らかの理由で処理を完了できない場合に発生します。
例
次の例は Chrome の画像キャプチャ / 写真解像度サンプルから抜粋したもので、 getPhotoCapabilities()
の結果を使用して入力範囲のサイズを変更しています。この例では、機器の MediaStream
から取得した MediaStreamTrack
を使用して ImageCapture
オブジェクトを作成する様子も示しています。
const input = document.querySelector('input[type="range"]');
let imageCapture;
navigator.mediaDevices
.getUserMedia({ video: true })
.then((mediaStream) => {
document.querySelector("video").srcObject = mediaStream;
const track = mediaStream.getVideoTracks()[0];
imageCapture = new ImageCapture(track);
return imageCapture.getPhotoCapabilities();
})
.then((photoCapabilities) => {
const settings = imageCapture.track.getSettings();
input.min = photoCapabilities.imageWidth.min;
input.max = photoCapabilities.imageWidth.max;
input.step = photoCapabilities.imageWidth.step;
return imageCapture.getPhotoSettings();
})
.then((photoSettings) => {
input.value = photoSettings.imageWidth;
})
.catch((error) => console.error("Argh!", error.name || error));
仕様書
Specification |
---|
MediaStream Image Capture # dom-imagecapture-getphotocapabilities |
ブラウザーの互換性
BCD tables only load in the browser