|  | @@ -871,76 +871,91 @@ export default {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          startBroadcast(url){
 | 
	
		
			
				|  |  | -          // 获取推流鉴权KEY
 | 
	
		
			
				|  |  | -          console.log(this.$loginUser)
 | 
	
		
			
				|  |  | -          console.log(this.$loginUser.pushKey)
 | 
	
		
			
				|  |  | -          url += "&sign=" + crypto.createHash('md5').update(this.$loginUser.pushKey, "utf8").digest('hex')
 | 
	
		
			
				|  |  | -          console.log("开始语音对讲: " + url)
 | 
	
		
			
				|  |  | -          this.broadcastRtc = new ZLMRTCClient.Endpoint({
 | 
	
		
			
				|  |  | -            debug: true, // 是否打印日志
 | 
	
		
			
				|  |  | -            zlmsdpUrl: url, //流地址
 | 
	
		
			
				|  |  | -            simulecast: false,
 | 
	
		
			
				|  |  | -            useCamera: false,
 | 
	
		
			
				|  |  | -            audioEnable: true,
 | 
	
		
			
				|  |  | -            videoEnable: false,
 | 
	
		
			
				|  |  | -            recvOnly: false,
 | 
	
		
			
				|  |  | -          })
 | 
	
		
			
				|  |  | +          // 获取推流鉴权Key
 | 
	
		
			
				|  |  | +          this.$axios({
 | 
	
		
			
				|  |  | +            method: 'post',
 | 
	
		
			
				|  |  | +            url: '/api/user/userInfo',
 | 
	
		
			
				|  |  | +          }).then( (res)=> {
 | 
	
		
			
				|  |  | +            if (res.data.code !== 0) {
 | 
	
		
			
				|  |  | +              this.$message({
 | 
	
		
			
				|  |  | +                showClose: true,
 | 
	
		
			
				|  |  | +                message: "获取推流鉴权Key失败",
 | 
	
		
			
				|  |  | +                type: "error",
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +              let pushKey = res.data.data.pushKey;
 | 
	
		
			
				|  |  | +              // 获取推流鉴权KEY
 | 
	
		
			
				|  |  | +              url += "&sign=" + crypto.createHash('md5').update(pushKey, "utf8").digest('hex')
 | 
	
		
			
				|  |  | +              console.log("开始语音对讲: " + url)
 | 
	
		
			
				|  |  | +              this.broadcastRtc = new ZLMRTCClient.Endpoint({
 | 
	
		
			
				|  |  | +                debug: true, // 是否打印日志
 | 
	
		
			
				|  |  | +                zlmsdpUrl: url, //流地址
 | 
	
		
			
				|  |  | +                simulecast: false,
 | 
	
		
			
				|  |  | +                useCamera: false,
 | 
	
		
			
				|  |  | +                audioEnable: true,
 | 
	
		
			
				|  |  | +                videoEnable: false,
 | 
	
		
			
				|  |  | +                recvOnly: false,
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
 | 
	
		
			
				|  |  | -          //   console.error('播放成功',e.streams)
 | 
	
		
			
				|  |  | -          //   this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | -          // });
 | 
	
		
			
				|  |  | -          //
 | 
	
		
			
				|  |  | -          // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
 | 
	
		
			
				|  |  | -          //   this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | -          //   // document.getElementById('selfVideo').srcObject=s;
 | 
	
		
			
				|  |  | -          //   // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
 | 
	
		
			
				|  |  | -          // });
 | 
	
		
			
				|  |  | +              // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
 | 
	
		
			
				|  |  | +              //   console.error('播放成功',e.streams)
 | 
	
		
			
				|  |  | +              //   this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | +              // });
 | 
	
		
			
				|  |  | +              //
 | 
	
		
			
				|  |  | +              // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
 | 
	
		
			
				|  |  | +              //   this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | +              //   // document.getElementById('selfVideo').srcObject=s;
 | 
	
		
			
				|  |  | +              //   // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
 | 
	
		
			
				|  |  | +              // });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
 | 
	
		
			
				|  |  | -            console.error('不支持webrtc',e)
 | 
	
		
			
				|  |  | -            this.$message({
 | 
	
		
			
				|  |  | -              showClose: true,
 | 
	
		
			
				|  |  | -              message: '不支持webrtc, 无法进行语音对讲',
 | 
	
		
			
				|  |  | -              type: 'error'
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | +              this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
 | 
	
		
			
				|  |  | +                console.error('不支持webrtc',e)
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                  showClose: true,
 | 
	
		
			
				|  |  | +                  message: '不支持webrtc, 无法进行语音对讲',
 | 
	
		
			
				|  |  | +                  type: 'error'
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
 | 
	
		
			
				|  |  | -            console.error('ICE 协商出错')
 | 
	
		
			
				|  |  | -            this.$message({
 | 
	
		
			
				|  |  | -              showClose: true,
 | 
	
		
			
				|  |  | -              message: 'ICE 协商出错',
 | 
	
		
			
				|  |  | -              type: 'error'
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | +              this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
 | 
	
		
			
				|  |  | +                console.error('ICE 协商出错')
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                  showClose: true,
 | 
	
		
			
				|  |  | +                  message: 'ICE 协商出错',
 | 
	
		
			
				|  |  | +                  type: 'error'
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | -            console.error('offer anwser 交换失败',e)
 | 
	
		
			
				|  |  | -            this.$message({
 | 
	
		
			
				|  |  | -              showClose: true,
 | 
	
		
			
				|  |  | -              message: 'offer anwser 交换失败' + e,
 | 
	
		
			
				|  |  | -              type: 'error'
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -          this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | -            console.log('状态改变',e)
 | 
	
		
			
				|  |  | -            if (e === "connecting") {
 | 
	
		
			
				|  |  | -              this.broadcastStatus = 0;
 | 
	
		
			
				|  |  | -            }else if (e === "connected") {
 | 
	
		
			
				|  |  | -              this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | -            }else if (e === "disconnected") {
 | 
	
		
			
				|  |  | -              this.broadcastStatus = -1;
 | 
	
		
			
				|  |  | +              this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | +                console.error('offer anwser 交换失败',e)
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                  showClose: true,
 | 
	
		
			
				|  |  | +                  message: 'offer anwser 交换失败' + e,
 | 
	
		
			
				|  |  | +                  type: 'error'
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  | +              this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | +                console.log('状态改变',e)
 | 
	
		
			
				|  |  | +                if (e === "connecting") {
 | 
	
		
			
				|  |  | +                  this.broadcastStatus = 0;
 | 
	
		
			
				|  |  | +                }else if (e === "connected") {
 | 
	
		
			
				|  |  | +                  this.broadcastStatus = 1;
 | 
	
		
			
				|  |  | +                }else if (e === "disconnected") {
 | 
	
		
			
				|  |  | +                  this.broadcastStatus = -1;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  | +              this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | +                console.log('捕获流失败',e)
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                  showClose: true,
 | 
	
		
			
				|  |  | +                  message: '捕获流失败' + e,
 | 
	
		
			
				|  |  | +                  type: 'error'
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            });
 | 
	
		
			
				|  |  | -          this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
 | 
	
		
			
				|  |  | -            console.log('捕获流失败',e)
 | 
	
		
			
				|  |  | -            this.$message({
 | 
	
		
			
				|  |  | -              showClose: true,
 | 
	
		
			
				|  |  | -              message: '捕获流失败' + e,
 | 
	
		
			
				|  |  | -              type: 'error'
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          stopBroadcast(){
 | 
	
		
			
				|  |  |            this.broadcastStatus = -2;
 |