gemercheung 2 سال پیش
والد
کامیت
9dce24a791

+ 1 - 1
.env.eur

@@ -21,4 +21,4 @@ VITE_APP_APIS_URL=https://testeur.4dkankan.com/
 VITE_USE_HTTPS=1
 VITE_PUBLIC_DIR='/livestream/'
 VITE_ROOM_MEMBER=10
-VITE_SHOW_CONSOLE=0
+VITE_SHOW_CONSOLE=1

+ 5 - 0
src/components/chatRoom/camera.vue

@@ -35,6 +35,11 @@
 </script>
 <style lang="scss">
   #PageRtcLive {
+    &.leader + div.local {
+      + div.remote {
+        display: none;
+      }
+    }
     &.customer + div.local {
       display: none;
     }

+ 6 - 1
src/components/chatRoom/chatroom.scss

@@ -605,4 +605,9 @@
 // #local{
 //   position: relative;
 //   z-index: 10000;
-// }
+// }
+@media screen and (min-width: 768px) {
+  .scene-list {
+    max-width: 11rem;
+  }
+}

+ 10 - 4
src/components/chatRoom/controls/actions.ts

@@ -11,6 +11,7 @@ import { unref } from 'vue';
 import { useAppStore } from '/@/store/modules/app';
 import dayjs from 'dayjs';
 import duration from 'dayjs/plugin/duration';
+import { useRtcSdk } from '/@/hooks/useTRTC';
 dayjs.extend(duration);
 // import { useRtcSdk } from '/@/hooks/useTRTC';
 interface ActionDataType {
@@ -58,7 +59,7 @@ export function handleActions({
       break;
 
     case 'users-muted':
-      handleUserMuted(userId, muted, members);
+      handleUserMuted(userId, muted);
       break;
 
     case 'users-words':
@@ -275,16 +276,21 @@ const handleUserSetWords = (UserId?: string, words?: boolean, members?: UserInfo
     });
   }
 };
-const handleUserMuted = (UserId?: string, muted?: boolean, members?: UserInfoType[]) => {
+const handleUserMuted = (UserId?: string, muted?: boolean) => {
   const rtcStore = useRtcStore();
-  console.log('members', members);
-  console.log('handleUserMuted', UserId, muted);
   UserId &&
     rtcStore.updateMemberDatabyId(UserId, {
       IsMuted: muted,
     });
   if (UserId == rtcStore.userId) {
     rtcStore.setMute(!!muted);
+    const { localStream } = useRtcSdk();
+    console.log('audio::status', UserId, muted);
+    if (muted) {
+      localStream.muteAudio();
+    } else {
+      localStream.unmuteAudio();
+    }
   }
 };
 

+ 5 - 0
src/components/chatRoom/controls/join.ts

@@ -83,6 +83,11 @@ export function handleJoin(data: any) {
         type: 'changeScene',
         data: unref(currentScene),
       });
+      socket.emit('action', {
+        type: 'users-muted',
+        muted: user.IsMuted,
+        userId: rtcStore.userId,
+      });
     }
   }, 1500);
 }

+ 9 - 5
src/components/chatRoom/index.vue

@@ -57,11 +57,15 @@
         <div class="invitation" @click="handleCreateShare"></div>
         <!-- @click="openMember" -->
         <div class="members" @click="openMember"></div>
+
         <template v-if="isNativeLeader">
           <div class="mic_on" v-if="!audioMuted" @click="handleMute"></div>
           <div class="mic_no" v-if="audioMuted" @click="handleNoMute"></div>
         </template>
-
+        <template v-else>
+          <div class="mic_on" v-if="!audioMuted"></div>
+          <div class="mic_no" v-if="audioMuted"></div>
+        </template>
         <div style="font-size: 0.65rem" v-if="isNativeLeader && sceneList.length > 1">
           <ImageIcon type="scene" @click="showScenes = !showScenes" />
         </div>
@@ -210,8 +214,8 @@
 
   const selfRoomStatus = computed(() => rtcStore.getSelfRoomStatus());
   const audioMuted = computed(() => unref(selfRoomStatus)?.IsMuted);
-
   const hosterhasVideo = computed(() => rtcStore.videoDeviceId?.length > 0);
+
   const { muteVideoLeader } = useRtcSdk();
   let roomCounter = ref(-1);
   let roomCount: NodeJS.Timeout;
@@ -245,6 +249,7 @@
     },
     { immediate: true, deep: true },
   );
+
   //设置socket 参数
   const startJoin = (callback?: () => void) => {
     consola.info({
@@ -437,8 +442,7 @@
   const handleNoMute = () => {
     const { localStream } = useRtcSdk();
     const { socket } = useSocket();
-    console.log('localStream', localStream);
-
+    // console.log('localStream', localStream);
     console.log('开启MIC');
     socket.emit('action', {
       type: 'users-muted',
@@ -447,7 +451,7 @@
     });
     localStream.resume();
     rtcStore.unmute();
-    localStream.unmuteAudio();
+    // localStream.unmuteAudio();
   };
   const handleMute = () => {
     const { localStream } = useRtcSdk();

+ 3 - 4
src/hooks/useTRTC.ts

@@ -185,12 +185,11 @@ async function handlePublish() {
   if (rtcStore.isPublished) {
     return;
   }
-  if (!rtcStore.isLeader) {
-    return;
-  }
+  // if (!rtcStore.isLeader) {
+  //   return;
+  // }
   try {
     await localClient.publish(localStream);
-    // store.commit("rtc/setIsPublished", true);
     rtcStore.setIsPublished(true);
   } catch (error) {
     console.error(error, '---------------handlePublish--------------------');