Browse Source

增加强制发布

gemercheung 1 năm trước cách đây
mục cha
commit
331a964bcd
1 tập tin đã thay đổi với 30 bổ sung7 xóa
  1. 30 7
      src/hooks/useAgora.ts

+ 30 - 7
src/hooks/useAgora.ts

@@ -150,9 +150,6 @@ const publishLockAudioTrack = async () => {
   localAudioTrack.value = await AgoraRTC.createMicrophoneAudioTrack();
   if (localAudioTrack.value) {
     await localClient.publish([localAudioTrack.value]);
-    // localAudioTrack.value.setVolume(120);
-    // localAudioTrack.value.setMuted(muted);
-    // localAudioTrack.value.play();
   }
 };
 const unPublishLockAudioTrack = async () => {
@@ -162,12 +159,38 @@ const unPublishLockAudioTrack = async () => {
   }
 };
 
-export const muteVideo = () => {
+export const muteVideo = async () => {
   //通用开音方法
-  localVideoTrack.value?.setMuted(true);
+  console.error('关cam');
+  if (isHasCamera.value) {
+    if (localVideoTrack.value) {
+      await localClient.unpublish([localVideoTrack.value]);
+    }
+  }
 };
-export const unMuteVideo = () => {
-  localVideoTrack.value?.setMuted(false);
+
+export const unMuteVideo = async () => {
+  console.error('开cam');
+  if (isHasCamera.value) {
+    if (localVideoTrack.value) {
+      await localClient.unpublish(localVideoTrack.value);
+      localAudioTrack.value = null;
+    }
+    localVideoTrack.value = await AgoraRTC.createCameraVideoTrack();
+    localVideoTrack.value.setEncoderConfiguration('120p');
+    if (localVideoTrack.value) {
+      await localClient.publish([localVideoTrack.value]);
+      const localVideoEl = document.getElementById(CamID.value);
+      if (localVideoEl) {
+        try {
+          console.warn('播放本地rtc-localVideoTrack', localVideoEl);
+          localVideoTrack.value.play(localVideoEl);
+        } catch (error) {
+          console.error('error', error);
+        }
+      }
+    }
+  }
 };
 
 export const mutedAudio = () => {