Camera.startCapture

เริ่มจับภาพวิดีโอหรือจับภาพตามช่วงเวลาโดยขึ้นอยู่กับค่าของ captureMode ในตัวเลือก มีการเพิ่มคำสั่งนี้ใน API ระดับ 2

พารามิเตอร์

  • คำสั่งนี้ไม่มีพารามิเตอร์ในเนื้อหาคำขอ การจับภาพตามช่วงเวลาหรือการจับภาพวิดีโอจะกำหนดโดยตัวเลือก captureMode สำหรับการจับภาพตามช่วงเวลา การจับภาพแบบปลายเปิดหรือไม่ขึ้นอยู่กับว่า captureNumber เท่ากับหรือใหญ่กว่า 0 ต้องตั้งค่า captureMode, captureInterval และ captureNumber ก่อนจับภาพตามช่วงเวลา มีเพียง captureMode เท่านั้นที่ต้องตั้งค่าเป็น "video" ก่อนการจับภาพวิดีโอ ซึ่งสามารถหยุดได้ด้วยคำสั่ง camera.stopCapture เท่านั้น

ผลลัพธ์

  • การบันทึกภาพปลายเปิด (เมื่อ catchMode == "video" หรือ catchNumber == 0)
    • ไม่พบผลลัพธ์
  • การจับภาพช่วงเวลาที่ไม่ใช่ปลายเปิด
    • fileUrls: รายการ URL ที่สมบูรณ์ ที่ชี้ไปยังไฟล์ภาพเพื่อจับภาพตามช่วงเวลา โปรดทราบว่าคำสั่งนี้จะไม่แสดงผล fileUrls ในทันทีเนื่องจากการบันทึกใช้เวลา captureNumber จึงจะเสร็จสมบูรณ์ ซึ่งสามารถรับความคืบหน้าของคำสั่งได้ด้วยการสำรวจกล้องเป็นระยะๆ เช่น แบบสำรวจหลัง ระยะเวลาโดยประมาณ (time = captureInterval * (captureNumber - 1)) โดยใช้ API /osc/commands/status และ fileUrls คือผลลัพธ์ที่แสดงเมื่อคำสั่งเสร็จสิ้น หากคำสั่งไม่สำเร็จ (เช่น ถ่ายรูปได้ 3 ใน 3 ส่วนก่อนที่แบตเตอรี่จะหมด) หรือกล้องถูกตัดการเชื่อมต่อจากโทรศัพท์ไคลเอ็นต์ตรงกลาง แต่คำสั่งทำงานสำเร็จ ไคลเอ็นต์ควรรับรูปภาพได้โดยใช้ camera.listFiles ในภายหลังเมื่อมีการเชื่อมต่อใหม่ระหว่างไคลเอ็นต์กับกล้อง

ข้อผิดพลาด

  • disableCommand: คําสั่งปิดใช้อยู่ เช่น กล้องอยู่กลางวิดีโอจับภาพหรือจับภาพตามช่วงเวลา
  • invalidParametersName: ระบบไม่รู้จักชื่อพารามิเตอร์ เช่น ระบบไม่รู้จัก sessionId

คำสั่ง I/O

อินพุตคำสั่ง
none
เอาต์พุตคำสั่ง
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
เอาต์พุตคำสั่ง (ข้อผิดพลาด)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}