Просмотр исходного кода

修复语音对讲返回的地址

648540858 2 лет назад
Родитель
Сommit
922a9e8b32

+ 2 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@@ -39,6 +39,7 @@ import com.genersoft.iot.vmp.utils.DateUtil;
 import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import com.genersoft.iot.vmp.vmanager.bean.AudioBroadcastResult;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
+import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 import com.genersoft.iot.vmp.vmanager.gb28181.play.bean.AudioBroadcastEvent;
 import gov.nist.javax.sip.message.SIPResponse;
@@ -1004,7 +1005,7 @@ public class PlayServiceImpl implements IPlayService {
         AudioBroadcastResult audioBroadcastResult = new AudioBroadcastResult();
         audioBroadcastResult.setApp(app);
         audioBroadcastResult.setStream(stream);
-        audioBroadcastResult.setStreamInfo(mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, stream, null, null, null,false));
+        audioBroadcastResult.setStreamInfo(new StreamContent(mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, stream, null, null, null,false)));
         audioBroadcastResult.setCodec("G.711");
         return audioBroadcastResult;
     }

+ 3 - 7
src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java

@@ -1,9 +1,5 @@
 package com.genersoft.iot.vmp.vmanager.bean;
 
-import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItemLite;
-
 /**
  * @author lin
  */
@@ -11,7 +7,7 @@ public class AudioBroadcastResult {
     /**
      * 推流的各个方式流地址
      */
-    private StreamInfo streamInfo;
+    private StreamContent streamInfo;
 
     /**
      * 编码格式
@@ -29,11 +25,11 @@ public class AudioBroadcastResult {
     private String stream;
 
 
-    public StreamInfo getStreamInfo() {
+    public StreamContent getStreamInfo() {
         return streamInfo;
     }
 
-    public void setStreamInfo(StreamInfo streamInfo) {
+    public void setStreamInfo(StreamContent streamInfo) {
         this.streamInfo = streamInfo;
     }
 

+ 45 - 0
web_src/src/components/dialog/devicePlayer.vue

@@ -626,6 +626,51 @@ export default {
 
       })
     },
+    getBroadcastStatus() {
+      if (this.broadcastStatus == -2) {
+        return "primary"
+      }
+      if (this.broadcastStatus == -1) {
+        return "primary"
+      }
+      if (this.broadcastStatus == 0) {
+        return "warning"
+      }
+      if (this.broadcastStatus == 1) {
+        return "danger"
+      }
+
+    },
+    broadcastStatusClick() {
+      if (this.broadcastStatus == -1) {
+        // 默认状态, 开始
+        this.broadcastStatus = 0
+        // 发起语音对讲
+        this.$axios({
+          method: 'get',
+          url: '/api/play/broadcast/' + this.deviceId + '/' + this.channelId + "?timeout=30"
+        }).then( (res)=> {
+          if (res.data.code == 0) {
+            let streamInfo = res.data.data.streamInfo;
+            if (document.location.protocol.includes("https")) {
+              this.startBroadcast(streamInfo.rtcs)
+            }else {
+              this.startBroadcast(streamInfo.rtc)
+            }
+
+          }else {
+            this.$message({
+              showClose: true,
+              message: res.data.msg,
+              type: "error",
+            });
+          }
+        });
+      }else if (this.broadcastStatus === 1) {
+        this.broadcastStatus = -1;
+        this.broadcastRtc.close()
+      }
+    },
     startBroadcast(url) {
       // 获取推流鉴权Key
       this.$axios({