CameraManager.getCamera()

非標準
This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.

This API is available on Firefox OS for privileged or certified applications only.

概要

このメソッドは、端末上の利用可能なカメラの一つに、そのカメラの識別子を指定してアクセスするために使用します。利用可能なカメラのリストは、CameraManager.getListOfCameras() メソッドを呼び出して取得してください。

構文 (Firefox OS 2.1 まで)

CameraManager.getCamera(camera, cameraConfiguration, onsuccess[, onerror]);

引数

camera
利用したいカメラを指定します (端末には複数のカメラが搭載されているでしょう)。
cameraConfiguration
このカメラのオプションを設定するオブジェクト: mode, previewSize および recorderProfile
onsuccess
CameraControl オブジェクトを引数に取るコールバック関数。
onerror
エラー文字列を引数に取るオプションのコールバック関数。

var options = {
  mode: 'picture',
  recorderProfile: 'jpg',
  previewSize: {
    width: 352,
    height: 288
  }
};

var camera = navigator.mozCameras.getListOfCameras()[0];

function onSuccess(camera) {
  // Do stuff with the camera
};

function onError(error) {
  console.warn(error);
};

navigator.mozCameras.getCamera(camera, options, onSuccess, onError);

構文 (Firefox OS 2.2 以降)

Promise CameraManager.getCamera(camera, cameraConfiguration);

Parameters

camera
利用したいカメラを指定します (端末には複数のカメラが搭載されているでしょう)。
cameraConfiguration
このカメラのオプションを設定するオブジェクト: mode, previewSize および recorderProfile

戻り値

Promise を返します。Promise の .then() 関数は以下の 2 個の引数を受け取ります:

onsuccess
カメラオブジェクトを引数に取るコールバック関数。このオブジェクトには、CameraControl オブジェクトである camera プロパティと端末の実際の設定値を含む configuration プロパティが含まれます。
onerror
エラー文字列を引数に取るオプションのコールバック関数。

var options = {
  mode: 'picture',
  recorderProfile: 'jpg',
  previewSize: {
    width: 352,
    height: 288
  }
};

var camera = navigator.mozCameras.getListOfCameras()[0];

function onSuccess(cameraObj) {
  var cameraControl = cameraObj.camera;
  // Do stuff with the cameraControl
};

function onError(error) {
  console.warn(error);
};

navigator.mozCameras.getCamera(camera, options).then(onSuccess, onError);

仕様

標準仕様には含まれていません。WebRTC がモバイル端末で広くサポートされるようになった時、これと置き換えられる予定です。

許可設定

Firefox OS 1.4 まで Camera API は Certified API だったため、サードパーティアプリからはアクセスできませんでした。Firefox OS 2.0 からは許可レベルが Privileged に下げられたため、開発者が独自のアプリで利用できるようになりました。

"type": "privileged"
"permissions": {
  "camera": {
    "description": "Required for accessing cameras on the device."
  }
}

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: Marsf
 最終更新者: Marsf,