camera.takePicture

擷取等距矩形圖片,將經緯度座標儲存到 EXIF (如果您的相機有自身的 GPS 或 GPS 在連線手機上已啟用)。必要時,請在呼叫前呼叫 camera.setOptions這個指令已在 API 級別 2 中修改。

參數

  • sessionId:camera.startSession 指令取得的專屬工作階段 ID。這個欄位已在 API 級別 2 中淘汰。

成果

  • API 級別 1
    • fileUri:所拍攝圖片的 URI。製造商會決定是否要使用絕對或相對的 URI,例如「http://android.com/robots.txt」是絕對 URI,而「robots.txt」是相對 URI。用戶端可能會將這個 ID 視為不透明 ID。
  • API 級別 2
    • fileUrl:已拍攝圖片的絕對網址,可直接用來從相機的 HTTP 伺服器下載。請注意,這個指令不會立即傳回 fileUrl,因為拍攝 (包括相機內拼接) 通常需要一點時間 (從秒到幾分鐘) 才能完成。您可以使用 /osc/commands/status API 定期輪詢相機,藉此取得指令進度,fileUrl 則是指令完成後傳回的結果。如果 delayProcessing 為 true,這是預覽圖片的絕對網址,可做為 processPicture 的輸入內容來處理圖片,否則它會是最終處理圖片的絕對網址。

錯誤

  • missingParameter:缺少 sessionId此錯誤代碼已在 API 級別 2 中淘汰。
  • invalidParameterName:系統無法辨識參數名稱,例如 API 級別 2 無法辨識 sessionId
  • invalidParameterValue:系統可辨識輸入參數名稱,但其值無效;例如 sessionId 不存在、不再使用,或資料類型不正確。此錯誤代碼已在 API 級別 2 中淘汰。
  • disableCommand:指令目前已停用;例如相機處於影片拍攝模式。這是在 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."
    }
}