From 4b2e902503ac1fabde7340ca26a1adbc0018d118 Mon Sep 17 00:00:00 2001
From: 艺术家 <10819716+q100102@user.noreply.gitee.com>
Date: 星期三, 11 六月 2025 17:31:41 +0800
Subject: [PATCH] 代码提交

---
 项目代码/伸缩杆/client/src/views/tts/PickAndDrop/PickAndDrop.vue |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
index bbf06f9..4cf2592 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
@@ -252,6 +252,14 @@
             <span style="color: #fff; font-size: 2.5rem; font-weight: bold"
               >瑙嗛鐩戞帶鍙充晶</span
             >
+            <!-- <video
+              id="video"
+              controls
+              autoplay
+              muted
+              width="100%"
+              height="100%"
+            ></video> -->
             <img src="@/assets/imgs/right.png" alt="" />
           </div>
         </div>
@@ -260,7 +268,15 @@
   </div>
 </template>
 <script setup>
-import { ref, onMounted, nextTick, onUnmounted } from "vue";
+import {
+  ref,
+  onMounted,
+  nextTick,
+  onUnmounted,
+  onActivated,
+  onDeactivated,
+  onBeforeUnmount,
+} from "vue";
 import { useRouter } from "vue-router";
 import { ElMessage } from "element-plus";
 import {
@@ -388,7 +404,32 @@
 
   client.value.onerror = function () {};
 };
+
+//瑙嗛鐩戞帶
+const webRtcServer = ref();
+// webrtc鏈嶅姟鍣ㄥ湴鍧�
+const IP = "http://127.0.0.1:8000";
+
+// 鍒涘缓瑙嗛瀹炰緥
+
+const initVideo = () => {
+  webRtcServer.value = new WebRtcStreamer("video", IP);
+  //闇�瑕佹煡鐪嬬殑rtsp鍦板潃,鏍规嵁鑷繁鐨勬憚鍍忓ご浼犲叆瀵瑰簲鐨剅tsp鍦板潃鍗冲彲銆�
+  //娉ㄦ剰锛氳棰戠紪鐮佹牸寮忓繀椤绘槸H264鐨勶紝鍚﹀垯鏃犳硶姝e父鏄剧ず锛岀紪鐮佹牸寮忓彲鍦ㄦ憚鍍忓ご鐨勫悗鍙版洿鏀�
+  webRtcServer.value.connect(
+    "rtsp://admin:MXmx2380#@192.168.1.168:554/h264/Camera 01/main/av_stream"
+  );
+};
+//rtsp://admin:MXmx2380#@192.168.1.168:554/h264/ch1/main/av_stream
+// 閿�姣佽棰戝疄渚�
+
+const destroyVideo = () => {
+  webRtcServer.value &&
+    (webRtcServer.value.disconnect(), (webRtcServer.value = null));
+};
+
 onMounted(() => {
+  initVideo();
   // 鐩戝惉绐楀彛澶у皬鍙樺寲
   window.addEventListener("resize", () => {
     nextTick(() => {
@@ -412,7 +453,24 @@
   // getPosition();
   getParameter();
 });
+// 椤甸潰婵�娲�
 
+onActivated(() => {
+  // 缂撳瓨椤甸潰 鎵撳紑椤甸潰 瀹炵幇鎾斁
+  const video = document.getElementById("video");
+  video.paused && video.play();
+});
+// 椤甸潰鍋滅敤
+
+onDeactivated(() => {
+  // 缂撳瓨椤甸潰 绂诲紑椤甸潰 瀹炵幇鏆傚仠
+  const video = document.getElementById("video");
+  video.play && video.pause();
+});
+
+onBeforeUnmount(() => {
+  destroyVideo();
+});
 onUnmounted(() => {
   isStart.value = false;
   clearInterval(timer.value);

--
Gitblit v1.9.3