From 06bbe3fe01e5af9486c309693a975077df813f7c Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 29 九月 2022 16:27:59 +0800 Subject: [PATCH] 添加第二种语音对讲实现 --- web_src/src/components/dialog/devicePlayer.vue | 44 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 34 insertions(+), 10 deletions(-) diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue index 0cba21f..4c8f264 100644 --- a/web_src/src/components/dialog/devicePlayer.vue +++ b/web_src/src/components/dialog/devicePlayer.vue @@ -119,6 +119,10 @@ <el-tag >RTC:</el-tag> <span>{{ streamInfo.rtc }}</span> </el-dropdown-item> + <el-dropdown-item :command="streamInfo.rtcs"> + <el-tag >RTCS:</el-tag> + <span>{{ streamInfo.rtcs }}</span> + </el-dropdown-item> <el-dropdown-item :command="streamInfo.rtmp"> <el-tag >RTMP:</el-tag> <span>{{ streamInfo.rtmp }}</span> @@ -319,7 +323,9 @@ } }, created() { + console.log("created") console.log(this.player) + this.broadcastStatus = -1; if (Object.keys(this.player).length === 1) { this.activePlayer = Object.keys(this.player)[0] } @@ -332,7 +338,7 @@ // 濡備綍浣犲彧鏄敤涓�绉嶆挱鏀惧櫒锛岀洿鎺ユ敞閲婃帀涓嶇敤鐨勯儴鍒嗗嵆鍙� player: { jessibuca : ["ws_flv", "wss_flv"], - webRTC: ["rtc", "rtc"], + webRTC: ["rtc", "rtcs"], }, videoHistory: { date: '', @@ -386,7 +392,7 @@ if (tab.name === "codec") { this.$axios({ method: 'get', - url: '/zlm/' +this.mediaServerId+ '/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtmp&app='+ this.app +'&stream='+ this.streamId + url: '/zlm/' +this.mediaServerId+ '/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtsp&app='+ this.app +'&stream='+ this.streamId }).then(function (res) { that.tracksLoading = false; if (res.data.code == 0 && res.data.tracks) { @@ -409,6 +415,9 @@ console.log(this.videoUrl) }, openDialog: function (tab, deviceId, channelId, param) { + if (this.showVideoDialog) { + return; + } this.tabActiveName = tab; this.channelId = channelId; this.deviceId = deviceId; @@ -540,9 +549,7 @@ this.stopPlayRecord(); } this.recordPlay = '' - if (this.broadcastStatus === 1) { - this.stopBroadcast() - } + this.stopBroadcast() }, copySharedInfo: function (data) { @@ -857,7 +864,12 @@ }).then( (res)=> { if (res.data.code == 0) { let streamInfo = res.data.data.streamInfo; - this.startBroadcast(streamInfo.rtc) + if (document.location.protocol.includes("https")) { + this.startBroadcast(streamInfo.rtcs) + }else { + this.startBroadcast(streamInfo.rtc) + } + }else { this.$message({ showClose: true, @@ -867,7 +879,8 @@ } }); }else if (this.broadcastStatus === 1) { - this.stopBroadcast() + this.broadcastStatus = -1; + this.broadcastRtc.close() } }, startBroadcast(url){ @@ -882,6 +895,7 @@ message: "鑾峰彇鎺ㄦ祦閴存潈Key澶辫触", type: "error", }); + this.broadcastStatus = -1; }else { let pushKey = res.data.data.pushKey; // 鑾峰彇鎺ㄦ祦閴存潈KEY @@ -915,6 +929,7 @@ message: '涓嶆敮鎸亀ebrtc, 鏃犳硶杩涜璇煶瀵硅', type: 'error' }); + this.broadcastStatus = -1; }); this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 鍗忓晢鍑洪敊 @@ -924,6 +939,7 @@ message: 'ICE 鍗忓晢鍑洪敊', type: 'error' }); + this.broadcastStatus = -1; }); this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 浜ゆ崲澶辫触 @@ -933,6 +949,7 @@ message: 'offer anwser 浜ゆ崲澶辫触' + e, type: 'error' }); + this.broadcastStatus = -1; }); this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 浜ゆ崲澶辫触 console.log('鐘舵�佹敼鍙�',e) @@ -951,15 +968,23 @@ message: '鎹曡幏娴佸け璐�' + e, type: 'error' }); + this.broadcastStatus = -1; }); } + }).catch((e) => { + this.$message({ + showClose: true, + message: e, + type: 'error' + }); + this.broadcastStatus = -1; }); }, stopBroadcast(){ - this.broadcastStatus = -2; - this.broadcastRtc = null; + this.broadcastRtc.close(); + this.broadcastStatus = -1; this.$axios({ method: 'get', url: '/api/play/broadcast/stop/' + this.deviceId + '/' + this.channelId @@ -975,7 +1000,6 @@ }); } }); - } } }; -- Gitblit v1.8.0