camera.processPicture

處理先前擷取但尚未處理的圖片。只有在您可以支援 delayProcessing 時,才適用這個指令。如果不支援 delayProcessing,則這個指令的要求應會失敗,且錯誤代碼為已停用的指令。這個指令已在 API 級別 2 中新增。

參數

  • previewFileUrls:未處理圖片的網址清單。 如要處理相機中所有未處理的圖片,則圖片為 [「全部」]。 其不可空白。如果相機在處理任何圖片時發生問題,攝影機不會回應錯誤,而是應忽略該網址並繼續處理其他圖片。極端情況或許可以將 previewToFinalFileUrls 做為空白的 JSONObject 傳回。

成果

  • previewToFinalFileUrls: JSON <key, value=""> 配對的 JSONObject,其中每個鍵都是預覽圖片的絕對網址,而每個鍵都是對應的最終處理圖片,可用來直接從相機下載。請注意,這個指令類似於 camera.takePicture,且不會立即傳回 previewToFinalFileUrls (包括本段落稍後說明的邊角案例除外),因為處理作業 (包括相機內拼接) 通常需要一段時間 (從數秒到幾分鐘不等) 才能完成。只要使用 /osc/commands/status API 定期輪詢相機,即可取得指令進度,而 previewToFinalFileUrls 則是指令完成後傳回的結果。如果相機連線在指令完成前中斷,用戶端可在再次連線至相機時使用 listFiles 取得最終圖片的網址,或是發出其他 processPicture 指令,該指令應會在重新連線之前已完成處理圖片後立即傳回 previewToFinalFileUrls。</key,>

錯誤

  • disableCommand:不支援延遲處理。
  • invalidParameterName:輸入參數名稱無法識別。
  • invalidParameterValue:系統可識別輸入參數名稱,但其值無效;例如 previewFileUrls 中的任何網址無效。

指令 I/O

指令輸入
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
指令輸出
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
指令輸出 (錯誤)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}