From 922a9e8b3216ee5b6fd36ce607eaa81f6adf70ca Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 07 二月 2023 14:52:33 +0800
Subject: [PATCH] 修复语音对讲返回的地址

---
 src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java       |    3 ++-
 web_src/src/components/dialog/devicePlayer.vue                              |   45 +++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java |   10 +++-------
 3 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
index 65bab0d..56efa72 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
@@ -39,6 +39,7 @@
 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 @@
         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;
     }
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java
index 64bc243..1126081 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java
+++ b/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 @@
     /**
      * 鎺ㄦ祦鐨勫悇涓柟寮忔祦鍦板潃
      */
-    private StreamInfo streamInfo;
+    private StreamContent streamInfo;
 
     /**
      * 缂栫爜鏍煎紡
@@ -29,11 +25,11 @@
     private String stream;
 
 
-    public StreamInfo getStreamInfo() {
+    public StreamContent getStreamInfo() {
         return streamInfo;
     }
 
-    public void setStreamInfo(StreamInfo streamInfo) {
+    public void setStreamInfo(StreamContent streamInfo) {
         this.streamInfo = streamInfo;
     }
 
diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue
index 59e0ee3..78df785 100644
--- a/web_src/src/components/dialog/devicePlayer.vue
+++ b/web_src/src/components/dialog/devicePlayer.vue
@@ -626,6 +626,51 @@
 
       })
     },
+    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({

--
Gitblit v1.8.0