소스 검색

加载连麦用户麦序

jlin 4 주 전
부모
커밋
de24ab7c0e
1개의 변경된 파일30개의 추가작업 그리고 0개의 파일을 삭제
  1. 30 0
      module_live/src/main/java/com/yc/module_live/view/video/VideoFragment.kt

+ 30 - 0
module_live/src/main/java/com/yc/module_live/view/video/VideoFragment.kt

@@ -175,6 +175,8 @@ class VideoFragment : BaseFragment<VideoVm>() {
                 }
                 isSwitchRoom = false
                 sd_bgView.toGone()
+
+                loadMicList()
             } else {
                 Log.d(TAG, "joinChannel: 222222")
                 sd_bgView.toGone()
@@ -186,6 +188,7 @@ class VideoFragment : BaseFragment<VideoVm>() {
         // 停止本地预览
         engine?.stopPreview()
         engine?.stopPlayingStream(viewModel.room?.anchorId.toString())
+        stopMicList()
         // 停止推流
         engine?.stopPublishingStream()
         // 退出房间
@@ -206,6 +209,33 @@ class VideoFragment : BaseFragment<VideoVm>() {
         engine?.stopPublishingStream()
     }
 
+    /**
+     * 加载所有连麦用户麦序
+     */
+    fun loadMicList() {
+        if (viewModel.room?.micList?.size == 0) {
+            return
+        }
+        for (i in viewModel.room?.micList?.indices!!) {
+            val mic = viewModel.room?.micList?.get(i)
+            Log.d("videoFragment", "loadMicList: " + mic?.userId)
+            val playStreamId = mic?.userId.toString() // 播放流ID, 人的ID
+            engine?.startPlayingStream(playStreamId)
+        }
+    }
+
+    fun stopMicList() {
+        if (viewModel.room?.micList?.size == 0) {
+            return
+        }
+        for (i in viewModel.room?.micList?.indices!!) {
+            val mic = viewModel.room?.micList?.get(i)
+            Log.d("videoFragment", "stopMicList: " + mic?.userId)
+            val playStreamId = mic?.userId.toString() // 播放流ID, 人的ID
+            engine?.stopPlayingStream(playStreamId)
+        }
+    }
+
     /******************** 连麦 *****************/
 
     fun anchorBack(isBackground: Boolean) {