修改云台控制接口使其更加直观

This commit is contained in:
648540858
2021-11-03 14:58:48 +08:00
parent b445128fb5
commit 31e340e8e2
3 changed files with 52 additions and 16 deletions

View File

@@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.gb28181.event;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;

View File

@@ -44,7 +44,7 @@ public class PtzController {
* 云台控制
* @param deviceId 设备id
* @param channelId 通道id
* @param cmdCode 指令
* @param command 控制指令
* @param horizonSpeed 水平移动速度
* @param verticalSpeed 垂直移动速度
* @param zoomSpeed 缩放速度
@@ -54,19 +54,56 @@ public class PtzController {
@ApiImplicitParams({
@ApiImplicitParam(name = "deviceId", value = "设备ID", dataTypeClass = String.class),
@ApiImplicitParam(name = "channelId", value = "通道ID", dataTypeClass = String.class),
@ApiImplicitParam(name = "cmdCode", value = "指令码", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "command", value = "控制指令,允许值: left, right, up, down, upleft, upright, downleft, downright, zoomin, zoomout, stop", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "horizonSpeed", value = "水平速度", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "verticalSpeed", value = "垂直速度", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "zoomSpeed", value = "缩放速度", dataTypeClass = Integer.class),
})
@PostMapping("/control/{deviceId}/{channelId}")
public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId,int cmdCode, int horizonSpeed, int verticalSpeed, int zoomSpeed){
public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId, String command, int horizonSpeed, int verticalSpeed, int zoomSpeed){
if (logger.isDebugEnabled()) {
logger.debug(String.format("设备云台控制 API调用deviceId%s channelId%s cmdCode%d horizonSpeed%d verticalSpeed%d zoomSpeed%d",deviceId, channelId, cmdCode, horizonSpeed, verticalSpeed, zoomSpeed));
logger.debug(String.format("设备云台控制 API调用deviceId%s channelId%s command%s horizonSpeed%d verticalSpeed%d zoomSpeed%d",deviceId, channelId, command, horizonSpeed, verticalSpeed, zoomSpeed));
}
Device device = storager.queryVideoDevice(deviceId);
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;
}
cmder.frontEndCmd(device, channelId, cmdCode, horizonSpeed, verticalSpeed, zoomSpeed);
return new ResponseEntity<String>("success",HttpStatus.OK);
}