From 5e432e82934b8f644b216ac2d5e283de22c8e8a1 Mon Sep 17 00:00:00 2001 From: Jolie <412895109@qq.com> Date: Mon, 24 Nov 2025 01:04:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(rtc):=20=E6=9B=B4=E6=96=B0RTC=E9=A2=91?= =?UTF-8?q?=E9=81=93=E8=AF=A6=E6=83=85=E5=B9=B6=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 导入全局数据控制器以获取用户信息 - 在加入RTC频道后构造当前用户的座位信息 - 根据用户角色设置麦克风和视频状态 - 更新RTC频道详情中的男女观众信息 - 保持原有音频发布逻辑不变 --- lib/controller/discover/room_controller.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/controller/discover/room_controller.dart b/lib/controller/discover/room_controller.dart index 8f121eb..fa6accd 100644 --- a/lib/controller/discover/room_controller.dart +++ b/lib/controller/discover/room_controller.dart @@ -1,4 +1,5 @@ import 'package:agora_rtc_engine/agora_rtc_engine.dart'; +import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/model/rtc/rtc_channel_data.dart'; import 'package:dating_touchme_app/model/rtc/rtc_channel_detail.dart'; import 'package:dating_touchme_app/network/network_service.dart'; @@ -177,6 +178,24 @@ class RoomController extends GetxController { } else { await RTCManager.instance.publishAudio(); } + RtcSeatUserInfo userInfo = RtcSeatUserInfo( + miId: GlobalData().userData?.id ?? '', + userId: GlobalData().userData?.id ?? '', + nickName: GlobalData().userData?.nickName ?? '', + profilePhoto: GlobalData().userData?.profilePhoto ?? '', + seatNumber: role == CurrentRole.maleAudience ? 1 : 2, + isFriend: false, + isMicrophoneOn: true, + isVideoOn: role == CurrentRole.maleAudience || role == CurrentRole.femaleAudience ? true : false, + genderCode: GlobalData().userData?.genderCode ?? 0, + ); + final newDetail = RtcChannelDetail( + channelId: rtcChannelDetail.value!.channelId, + anchorInfo: rtcChannelDetail.value!.anchorInfo, + maleInfo: role == CurrentRole.maleAudience ? userInfo : null, + femaleInfo: role == CurrentRole.femaleAudience ? userInfo : null, + ); + rtcChannelDetail.value = newDetail; isLive = true; }