Camera (카메라) Widget Control
Cameraウィジェットをスクリプトから制御するときに使用するWidget Control(Property · Method · Event)の一覧です。ウィジェットの紹介と使い方はCameraを参照してください。
以下の例のcameraIDは、キャンバスでCameraウィジェットに指定した名前(ID)です。スクリプトではwidgetID.memberの形式でアクセスします。
Widget Control一覧
| Widget Control | 種類 | シグネチャ | 説明 |
|---|---|---|---|
initialize | Method | initialize() | 現在のプロパティに合わせたカメラコントローラーを生成・初期化します |
availableCameras | Method | availableCameras() | 使用可能なカメラの一覧を取得して内部にキャッシュします |
setDescription | Method | setDescription(cameraName) | 指定した名前のカメラに切り替えます |
buildPreview | Method | buildPreview() | リアルタイムプレビューウィジェットを返します |
pausePreview | Method | pausePreview() | プレビューを一時停止します |
resumePreview | Method | resumePreview() | 一時停止したプレビューを再開します |
takePicture | Method | takePicture() | 写真を1枚撮影します |
startImageStream | Method | startImageStream() | プレビューフレームのストリーミングを開始します |
stopImageStream | Method | stopImageStream() | フレームのストリーミングを停止します |
supportsImageStreaming | Method | supportsImageStreaming() | イメージストリーミングに対応しているかどうかを返します |
prepareForVideoRecording | Method | prepareForVideoRecording() | 動画録画を準備します(iOS専用) |
startVideoRecording | Method | startVideoRecording() | 動画録画を開始します |
stopVideoRecording | Method | stopVideoRecording() | 動画録画を停止します |
pauseVideoRecording | Method | pauseVideoRecording() | 動画録画を一時停止します |
resumeVideoRecording | Method | resumeVideoRecording() | 一時停止した録画を再開します |
setZoomLevel | Method | setZoomLevel(zoom) | ズーム倍率を設定します |
setFlashMode | Method | setFlashMode(mode) | フラッシュモードを設定します |
setExposureMode | Method | setExposureMode(mode) | 露出モードを設定します |
setExposurePoint | Method | setExposurePoint(point) | 露出測光ポイントを設定します |
getMaxZoomLevel | Method | getMaxZoomLevel() | 最大ズーム倍率を取得します(現在のバージョンでは未対応) |
getMinZoomLevel | Method | getMinZoomLevel() | 最小ズーム倍率を取得します(現在のバージョンでは未対応) |
getMinExposureOffset | Method | getMinExposureOffset() | 最小露出補正値(EV)を取得します(現在のバージョンでは未対応) |
getMaxExposureOffset | Method | getMaxExposureOffset() | 最大露出補正値(EV)を取得します(現在のバージョンでは未対応) |
getExposureOffsetStepSize | Method | getExposureOffsetStepSize() | 露出補正のステップサイズを取得します(現在のバージョンでは未対応) |
setExposureOffset | Method | setExposureOffset(offset) | 露出補正値(EV)を設定します |
setFocusMode | Method | setFocusMode(mode) | フォーカスモードを設定します |
setFocusPoint | Method | setFocusPoint(point) | フォーカスポイントを設定します |
lockCaptureOrientation | Method | lockCaptureOrientation(orientation?) | 撮影方向を固定します |
unlockCaptureOrientation | Method | unlockCaptureOrientation() | 撮影方向のロックを解除します |
saveFileToGallery | Method | saveFileToGallery(filePath, name, isReturnPathOfIOS) | 既存のファイルをデバイスのギャラリーに保存します |
saveImageBase64ToGallery | Method | saveImageBase64ToGallery(base64Image, quality, name, isReturnImagePathOfIOS) | base64画像をギャラリーに保存します |
Property
該当なし — Cameraウィジェットにはスクリプト専用のPropertyはありません。スクリプトでは、以下の共通Widget Control(getProperty / setProperty)で値を読み書きします。
Method
initialize
現在のプロパティ(レンズ方向・解像度・オーディオ・フラッシュ)に合わせたカメラコントローラーを生成・初期化し、プレビューを開始します。
- Parameters: なし
- Returns: なし
Example
cameraID.initialize();
availableCameras
デバイスで使用可能なカメラの一覧を取得し、内部にキャッシュします。以降、setDescriptionがこの一覧を使用します。
- Parameters: なし
- Returns: なし
Example
cameraID.availableCameras();
setDescription
指定した名前のカメラに切り替えます。一致するカメラがない場合は、使用可能な最初のカメラで代替します。
- Parameters:
cameraName- 文字列。availableCamerasが報告するプラットフォームのカメラ名 - Returns: なし
Example
cameraID.setDescription("0");
buildPreview
リアルタイムのカメラプレビューウィジェットを返します。コントローラーが準備できていない場合は、空のウィジェットを返します。
- Parameters: なし
- Returns:
Widget(ウィジェット)
Example
cameraID.buildPreview();
pausePreview
コントローラーは初期化状態のまま、リアルタイムプレビューのみを一時停止します。
- Parameters: なし
- Returns: なし
Example
cameraID.pausePreview();
resumePreview
pausePreviewで停止したプレビューを再開します。
- Parameters: なし
- Returns: なし
Example
cameraID.resumePreview();
takePicture
現在のカメラで写真を1枚撮影します。
- Parameters: なし
- Returns: なし
Example
cameraID.takePicture();
startImageStream
カメラのプレビューフレームのストリーミングを開始します。イメージストリームに対応した構成でのみ動作します(supportsImageStreamingを参照)。
- Parameters: なし
- Returns: なし
Example
cameraID.startImageStream();
stopImageStream
startImageStreamで開始したフレームストリームを停止します。
- Parameters: なし
- Returns: なし
Example
cameraID.stopImageStream();
supportsImageStreaming
現在のカメラ構成がイメージストリーミングに対応しているかどうかを返します。初期化されていない場合はfalseを返します。
- Parameters: なし
- Returns:
bool(真偽値)
Example
cameraID.supportsImageStreaming();
prepareForVideoRecording
最初のstartVideoRecording呼び出しの遅延を減らすため、動画録画を事前に準備します。iOS専用で、他のプラットフォームでは何も行いません。
- Parameters: なし
- Returns: なし
Example
cameraID.prepareForVideoRecording();
startVideoRecording
現在のカメラで動画録画を開始します。
- Parameters: なし
- Returns: なし
Example
cameraID.startVideoRecording();
stopVideoRecording
進行中の動画録画を停止します。
- Parameters: なし
- Returns: なし
Example
cameraID.stopVideoRecording();
pauseVideoRecording
進行中の動画録画を一時停止します。
- Parameters: なし
- Returns: なし
Example
cameraID.pauseVideoRecording();
resumeVideoRecording
pauseVideoRecordingで停止した動画録画を再開します。
- Parameters: なし
- Returns: なし
Example
cameraID.resumeVideoRecording();
setZoomLevel
カメラのズーム倍率を設定します。
- Parameters:
zoom- 数値。デバイスの最小〜最大ズーム倍率の間の値 - Returns: なし
Example
cameraID.setZoomLevel(2.0);
setFlashMode
現在のカメラのフラッシュモードを設定します。
- Parameters:
mode- 文字列。"off"、"auto"、"always"、"torch"のいずれか(大文字小文字は区別しません)。不明な値は"off"として扱います - Returns: なし
Example
cameraID.setFlashMode("torch");
setExposureMode
現在のカメラの露出モードを設定します。
- Parameters:
mode- 文字列。"auto"または"locked"(大文字小文字は区別しません)。不明な値は"auto"として扱います - Returns: なし
Example
cameraID.setExposureMode("locked");
setExposurePoint
カメラが露出を測光するポイントを設定します。null(または空文字列や形式が正しくない文字列)を渡すと、デフォルトの中央測光にリセットされます。
- Parameters:
point- 文字列。"dx,dy"形式の正規化座標(0.0〜1.0)。例: 中央は"0.5,0.5" - Returns: なし
Example
cameraID.setExposurePoint("0.5,0.5");
getMaxZoomLevel
現在のカメラが対応する最大ズーム倍率を取得します。
現在のバージョンでは提供されていません(今後のアップデートで対応予定)。スクリプトの自動補完リストには表示されますが、値を返さないため結果を受け取れません。
- Parameters: なし
- Returns: なし(現在のバージョンでは未対応)
Example
cameraID.getMaxZoomLevel();
getMinZoomLevel
現在のカメラが対応する最小ズーム倍率を取得します。
現在のバージョンでは提供されていません(今後のアップデートで対応予定)。スクリプトの自動補完リストには表示されますが、値を返さないため結果を受け取れません。
- Parameters: なし
- Returns: なし(現在のバージョンでは未対応)
Example
cameraID.getMinZoomLevel();
getMinExposureOffset
現在のカメラが対応する最小露出補正値(EV)を取得します。
現在のバージョンでは提供されていません(今後のアップデートで対応予定)。スクリプトの自動補完リストには表示されますが、値を返さないため結果を受け取れません。
- Parameters: なし
- Returns: なし(現在のバージョンでは未対応)
Example
cameraID.getMinExposureOffset();
getMaxExposureOffset
現在のカメラが対応する最大露出補正値(EV)を取得します。
現在のバージョンでは提供されていません(今後のアップデートで対応予定)。スクリプトの自動補完リストには表示されますが、値を返さないため結果を受け取れません。
- Parameters: なし
- Returns: なし(現在のバージョンでは未対応)
Example
cameraID.getMaxExposureOffset();
getExposureOffsetStepSize
露出補正値を変更できる最小のステップサイズを取得します。
現在のバージョンでは提供されていません(今後のアップデートで対応予定)。スクリプトの自動補完リストには表示されますが、値を返さないため結果を受け取れません。
- Parameters: なし
- Returns: なし(現在のバージョンでは未対応)
Example
cameraID.getExposureOffsetStepSize();
setExposureOffset
露出補正値(EV)を設定します。
- Parameters:
offset- 数値。EV単位で、デバイスの最小/最大露出範囲内 - Returns: なし
Example
cameraID.setExposureOffset(0.5);
setFocusMode
現在のカメラのフォーカスモードを設定します。
- Parameters:
mode- 文字列。"auto"または"locked"(大文字小文字は区別しません)。不明な値は"auto"として扱います - Returns: なし
Example
cameraID.setFocusMode("locked");
setFocusPoint
カメラがフォーカスを合わせるポイントを設定します。null(または空文字列や形式が正しくない文字列)を渡すと、デフォルトの中央フォーカスにリセットされます。
- Parameters:
point- 文字列。"dx,dy"形式の正規化座標(0.0〜1.0)。例: 中央は"0.5,0.5" - Returns: なし
Example
cameraID.setFocusPoint("0.5,0.5");
lockCaptureOrientation
撮影方向を固定し、デバイスを回転させても撮影物が一定の方向を保つようにします。orientationを省略した場合や認識できない値を渡した場合は、現在のデバイスの方向で固定します。
- Parameters:
orientation(任意) - 文字列。"portraitUp"、"portraitDown"、"landscapeLeft"、"landscapeRight"("portrait_up"形式の名前も使用できます) - Returns: なし
Example
cameraID.lockCaptureOrientation("portraitUp");
unlockCaptureOrientation
lockCaptureOrientationで設定した撮影方向のロックを解除し、撮影物が再びデバイスの方向に従うようにします。
- Parameters: なし
- Returns: なし
Example
cameraID.unlockCaptureOrientation();
saveFileToGallery
すでに存在するファイル(写真)を、ネイティブプラットフォームチャネル経由でデバイスのギャラリーに保存します。
- Parameters:
filePath- 文字列。保存するファイルのパスname- 文字列またはnull。保存する項目の表示名(任意)isReturnPathOfIOS- 真偽値。iOSで保存されたアセットのパスを返すよう要求します
- Returns: なし
Example
cameraID.saveFileToGallery("/path/to/photo.jpg", "MyPhoto", false);
saveImageBase64ToGallery
base64でエンコードされた画像をデコードして一時PNGファイルに書き出し、そのファイルをネイティブチャネル経由でデバイスのギャラリーに保存します。
- Parameters:
base64Image- 文字列。base64でエンコードされた画像バイトquality- 数値。エンコード品質のヒント(0〜100)name- 文字列またはnull。保存するファイル名/表示名(任意)isReturnImagePathOfIOS- 真偽値。iOSで保存されたアセットのパスを返すよう要求します
- Returns: なし
Example
cameraID.saveImageBase64ToGallery("iVBORw0KGgoAAAANSUhEUgAA...", 90, "MyImage", false);
Event
該当なし — Cameraウィジェットには専用のEventはありません。
共通Widget Control(すべてのウィジェット)
すべてのウィジェットは、setProperty / getProperty / setStylePropertyのような名前ベースの共通Widget Control(Method)を使用できます。共通リファレンスドキュメント(作成予定)を参照してください。