Browse Source

优化摄像头切换

wolyshaw 3 năm trước cách đây
mục cha
commit
77e1a5a011
1 tập tin đã thay đổi với 4 bổ sung4 xóa
  1. 4 4
      src/components/live-broadcast/runtime.ts

+ 4 - 4
src/components/live-broadcast/runtime.ts

@@ -331,13 +331,13 @@ export const setTrack = async (tracks: RTC.RCLocalTrack[], trackType: TrackType,
     // await runtime.mediaStreams?.addTrack(track._msTrack)
     if (trackType === 'microphone') {
       console.log('添加麦克风')
-      track.play()
+      track?.play()
     }
     runtime.activeTracks[trackType] = track
   }
   if (needPublish) {
     // console.log('publish', runtime.joinedRoom)
-    await runtime.joinedRoom?.publish(tracks)
+    await runtime.joinedRoom?.publish(tracks.filter(track => !!track))
   }
 }
 /**
@@ -346,7 +346,7 @@ export const setTrack = async (tracks: RTC.RCLocalTrack[], trackType: TrackType,
  */
 export const removeTrack = async (tracks: RTC.RCLocalTrack[], trackType: TrackType, needPublish = true) => {
   if (needPublish) {
-    await runtime.joinedRoom?.unpublish(tracks)
+    await runtime.joinedRoom?.unpublish(tracks.filter(track => !!track))
   }
   for (const track of tracks) {
     // @ts-ignore
@@ -516,7 +516,7 @@ export const openDevice = async (trackType: TrackType, needPublish = true) => {
     const track = await getTrack(trackType)
     await setTrack([track], trackType, needPublish)
     if (runtime.videoRef) {
-      track.play(runtime.videoRef)
+      track?.play(runtime.videoRef)
     }
   }
 }