camera.startCapture

根据选项captureMode 的值开始拍摄视频或间隔图片拍摄。此命令是在 API 级别 2 中添加的。

参数

  • 此命令在请求正文中没有参数。是间隔图片拍摄还是视频拍摄由 captureMode 选项决定。对于间隔拍摄,是否属于开放式拍摄取决于 captureNumber 是等于还是大于 0。captureModecaptureIntervalcaptureNumber 需要在间隔拍摄之前设置。在拍摄视频之前,只需将 captureMode 设置为“video”,只能通过 camera.stopCapture 命令停止。

成果

  • 开放式拍摄(当 captureMode == "video" 或 captureNumber == 0)
    • 无结果。
  • 非开放式间隔捕获:
    • fileUrls:绝对网址列表,指向用于间隔拍摄的图片文件。请注意,此命令不会立即返回 fileUrls,因为捕获需要 captureNumber 才能完成。您可以通过定期轮询相机来获取该命令的进度。例如,在预计时长 (time = captureInterval * (captureNumber - 1)) 后使用 /osc/commands/status API 进行轮询,在命令完成时返回 fileUrls 的结果。如果命令未成功完成(例如,在相机电池电量耗尽之前仅拍摄了 3 张图片),或者相机在中间断开了与客户端手机的连接,但命令成功完成,那么当客户端与相机之间建立新连接后,客户端应该能够使用 camera.listFiles 获取图片。

错误数

  • disabledCommand:命令当前已停用;例如,相机正在拍摄视频或正在进行间隔拍摄。
  • invalidParameterName:无法识别参数名称;例如无法识别 sessionId

命令 I/O

命令输入
none
命令输出
{
    "results": {
        "fileUrls":[
            "url1",
            "url2",
            "url3",
            ...
            "urln"
        ]
    }
}
命令输出(错误)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}