From 7053be666f20f1f56c7e23f0dd84d9ca2e836b15 Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Tue, 13 Aug 2024 22:35:39 +0800
Subject: [PATCH] 拍照录像接口
---
src/main/java/com/dji/sample/control/controller/DockController.java | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/dji/sample/control/controller/DockController.java b/src/main/java/com/dji/sample/control/controller/DockController.java
index 1fea75a..6f1ecf8 100644
--- a/src/main/java/com/dji/sample/control/controller/DockController.java
+++ b/src/main/java/com/dji/sample/control/controller/DockController.java
@@ -25,7 +25,9 @@
import javax.validation.Valid;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
+import java.util.UUID;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
/**
* @author sean
@@ -94,6 +96,8 @@
@SysLogAnnotation(operModul = "云台拍照录像控制", operType = "控制指令", operDesc = "云台拍照录像控制")
public ResponseResult photoAndVideoCmd(@PathVariable String sn, @PathVariable String type) throws Exception {
+ String bid = UUID.randomUUID().toString();
+
List<DeviceDTO> list = deviceService.getDevicesByParams(DeviceQueryParam.builder().deviceSn(sn).build());
if (list.isEmpty()) {
@@ -126,6 +130,7 @@
param.setSn(sn);
DronePayloadParam data = new DronePayloadParam();
data.setPayloadIndex(cameraDTO.getPayloadIndex());
+
//拍照
switch (type) {
case "photo":
@@ -133,13 +138,12 @@
//切换模式
ResponseResult swResult = switchingMode(sn, CameraModeEnum.PHOTO, cameraDTO);
log.info("摄像头切换状态:{}", swResult);
-
}
param.setCmd(PayloadCommandsEnum.CAMERA_PHOTO_TAKE);
param.setData(data);
break;
case "video_start": {//开始录像
- if (Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.PHOTO.getMode())) {
+ if (!Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.VIDEO.getMode())) {
//切换模式
ResponseResult swResult = switchingMode(sn, CameraModeEnum.VIDEO, cameraDTO);
log.info("摄像头切换状态:{}", swResult);
@@ -149,7 +153,7 @@
break;
}
case "video_stop": {//结束录像
- if (Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.PHOTO.getMode())) {
+ if (!Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.VIDEO.getMode())) {
//切换模式
ResponseResult swResult = switchingMode(sn, CameraModeEnum.VIDEO, cameraDTO);
log.info("摄像头切换状态:{}", swResult);
@@ -162,7 +166,10 @@
return ResponseResult.error(-1, "未知类型!");
}
- return controlService.payloadCommands(param);
+
+ Thread.sleep(2000); // 延迟2000毫秒(2秒)
+
+ return controlService.payloadCommands(param,bid);
}
/**
--
Gitblit v1.9.3