zrj
2024-08-20 8b7b86f12fab51fe21b5575f4ffd524fbeaf412b
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);
    }
    /**