非標準
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." } }