camera.takePicture

正距円筒図法で生成された画像に緯度/経度の座標を EXIF に保存します(接続されたスマートフォンで独自の GPS または GPS が有効になっている場合)。必要に応じて、このコマンド呼び出しの前に camera.setOptions を呼び出します。このコマンドは API レベル 2 で変更されました。

パラメータ

  • sessionId: camera.startSession コマンドから取得した一意のセッション ID。このフィールドは API レベル 2 で非推奨になりました。

結果

  • API レベル 1
    • fileUri: キャプチャした画像の URI。絶対 URI と相対 URI のどちらを使用するかはメーカーが決定します。たとえば、「http://android.com/robots.txt」は絶対 URI ですが、「robots.txt」は相対 URI です。クライアントはこれを不透明な識別子として扱うことができます。
  • API レベル 2
    • fileUrl: キャプチャした画像の絶対 URL。カメラの HTTP サーバーから直接ダウンロードするために使用できます。通常、キャプチャ(カメラ内での合成を含む)が完了するまでに時間がかかるため(数秒から数分かかる場合があります)、このコマンドはすぐに fileUrl を返さないことに注意してください。コマンドの進行状況は、/osc/commands/status API を使用してカメラを定期的にポーリングすることによって取得されます。fileUrl は、コマンド終了時に返される結果です。delayProcessing が true の場合、これはプレビュー画像の絶対 URL です。これを processPicture で入力として使用して画像を処理できます。それ以外の場合は、最終的に処理された画像の絶対 URL になります。

エラー

  • missingParameter: sessionId がありません。 このエラーコードは API レベル 2 でサポートが終了しました。
  • invalidParameterName: パラメータ名を認識できません(たとえば、sessionId は API レベル 2 で認識されません)。
  • invalidParameterValue: 入力パラメータ名が認識されていますが、その値が無効です。たとえば、sessionId が存在しない、有効でなくなっている、データ型が正しくないなど。このエラーコードは API レベル 2 でサポートが終了しました。
  • disabled: コマンドが現在無効になっています(カメラが動画撮影モードの場合など)。このエラーコードは API レベル 2 で追加されました。

コマンド I/O

コマンド入力(API レベル 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
コマンド出力(API レベル 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
コマンド出力(エラー)(API レベル 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
コマンド入力(API レベル 2)
none
コマンド出力(API レベル 2)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
コマンド出力(エラー)(API レベル 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}