camera.startCapture

根據「選項」中的 captureMode 值,開始錄影或間隔圖片擷取。這個指令已在 API 級別 2 中新增。

參數

  • 這個指令的要求主體中沒有參數。無論是間隔圖片拍攝還是影片擷取,均由 captureMode 選項決定。如果是間隔擷取,則取決於 captureNumber 是否等於或大於 0。必須在間隔擷取前設定 captureModecaptureIntervalcaptureNumber。只要在影片拍攝前將 captureMode 設為「video」,就只能透過 camera.stopCapture 指令停止。

成果

  • 開放式拍攝 (CaptureMode == "video" 或 captureNumber == 0)
    • 找不到任何結果。
  • 非開放式間隔擷取:
    • fileUrls:絕對網址清單,指向間隔擷取的圖片檔。請注意,由於擷取需要 captureNumber 才能完成,因此這個指令不會立即傳回 fileUrls。定期輪詢相機可以取得指令進度。舉例來說,使用 /osc/commands/status API 和 fileUrls,在預估時間長度 (time = captureInterval * (captureNumber - 1)) 之後進行輪詢,即指令結束時傳回的結果。如果指令未能順利完成 (例如只有 3 張圖像拍攝到相機耗盡前拍攝),或相機與用戶端手機中斷連線,但指令已順利完成,則用戶端應該可以在用戶端和相機之間建立新連線後,使用 camera.listFiles 取得圖像。

錯誤

  • DisabledCommand:指令目前已停用。例如,攝影機位於錄影或間隔拍攝中間。
  • invalidParameterName:系統無法辨識參數名稱;例如,無法辨識 sessionId

指令 I/O

指令輸入
none
指令輸出
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
指令輸出 (錯誤)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}