648540858
2022-05-07 9f0ef439cc292e6f5159d02213dd90957562d83e
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -33,13 +33,11 @@
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import org.springframework.web.context.request.async.DeferredResult;
import java.util.List;
import java.util.UUID;
import javax.sip.message.Response;
@Api(tags = "国标设备点播")
@CrossOrigin
@@ -56,7 +54,7 @@
   private VideoStreamSessionManager streamSession;
   @Autowired
   private IVideoManagerStorager storager;
   private IVideoManagerStorage storager;
   @Autowired
   private IRedisCatchStorage redisCatchStorage;
@@ -253,20 +251,32 @@
   @ApiOperation("语音广播命令")
   @ApiImplicitParams({
         @ApiImplicitParam(name = "deviceId", value = "设备Id", dataTypeClass = String.class),
         @ApiImplicitParam(name = "channelForSend", value = "设备用于发送语音数据的通道", dataTypeClass = String.class),
         @ApiImplicitParam(name = "channelForReceive", value = "设备用于接收语音数据的通道", dataTypeClass = String.class),
   })
    @GetMapping("/broadcast/{deviceId}")
    @PostMapping("/broadcast/{deviceId}")
    public DeferredResult<ResponseEntity<String>> broadcastApi(@PathVariable String deviceId) {
    public DeferredResult<ResponseEntity<String>> broadcastApi(@PathVariable String deviceId,
                                                String channelForSend,
                                                String channelForReceive) {
        if (logger.isDebugEnabled()) {
            logger.debug("语音广播API调用");
        }
        Device device = storager.queryVideoDevice(deviceId);
      DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(3 * 1000L);
      DeferredResult<ResponseEntity<String>> result = new DeferredResult<>(3 * 1000L);
      String key  = DeferredResultHolder.CALLBACK_CMD_BROADCAST + deviceId;
      if (resultHolder.exist(key, null)) {
         result.setResult(new ResponseEntity<>("设备使用中",HttpStatus.OK));
         return result;
      }
//      playService.audioBroadcast(deviceId, channelForSend, channelForReceive);
      String uuid  = UUID.randomUUID().toString();
        if (device == null) {