Browse Source

feat(rtc): 更新RTC频道详情并初始化用户信息

- 导入全局数据控制器以获取用户信息
- 在加入RTC频道后构造当前用户的座位信息
- 根据用户角色设置麦克风和视频状态
- 更新RTC频道详情中的男女观众信息
- 保持原有音频发布逻辑不变
ios
Jolie 4 months ago
parent
commit
5e432e8293
1 changed files with 19 additions and 0 deletions
  1. 19
      lib/controller/discover/room_controller.dart

19
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;
}

Loading…
Cancel
Save