648540858
2023-02-07 922a9e8b3216ee5b6fd36ce607eaa81f6adf70ca
修复语音对讲返回的地址
3个文件已修改
58 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/bean/AudioBroadcastResult.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/devicePlayer.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
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;
    }
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({