| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.genersoft.iot.vmp.web.gb28181;
- import com.alibaba.fastjson.JSONObject;
- import com.genersoft.iot.vmp.gb28181.bean.Device;
- import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
- import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- /**
- * API兼容:设备控制
- */
- @CrossOrigin
- @RestController
- @RequestMapping(value = "/api/v1/control")
- public class ApiControlController {
- private final static Logger logger = LoggerFactory.getLogger(ApiControlController.class);
- @Autowired
- private SIPCommander cmder;
- @Autowired
- private IVideoManagerStorager storager;
- /**
- * 设备控制 - 云台控制
- * @param serial 设备编号
- * @param command 控制指令 允许值: left, right, up, down, upleft, upright, downleft, downright, zoomin, zoomout, stop
- * @param channel 通道序号
- * @param code 通道编号
- * @param speed 速度(0~255) 默认值: 129
- * @return
- */
- @RequestMapping(value = "/ptz")
- private JSONObject list(String serial,String command,
- @RequestParam(required = false)Integer channel,
- @RequestParam(required = false)String code,
- @RequestParam(required = false)Integer speed){
- if (logger.isDebugEnabled()) {
- logger.debug(String.format("模拟接口> 设备云台控制 API调用,deviceId:%s ,channelId:%s ,command:%d ,speed:%d ",
- serial, code, command, speed));
- }
- Device device = storager.queryVideoDevice(serial);
- int cmdCode = 0;
- switch (command){
- case "left":
- cmdCode = 2;
- break;
- case "right":
- cmdCode = 1;
- break;
- case "up":
- cmdCode = 8;
- break;
- case "down":
- cmdCode = 4;
- break;
- case "upleft":
- cmdCode = 10;
- break;
- case "upright":
- cmdCode = 9;
- break;
- case "downleft":
- cmdCode = 6;
- break;
- case "downright":
- cmdCode = 5;
- break;
- case "zoomin":
- cmdCode = 16;
- break;
- case "zoomout":
- cmdCode = 32;
- break;
- case "stop":
- cmdCode = 0;
- break;
- default:
- break;
- }
- // 默认值 50
- cmder.frontEndCmd(device, code, cmdCode, speed, speed, speed);
- return null;
- }
- }
|