Compare commits

...

4 Commits

Author SHA1 Message Date
fuenmao e1542212aa 结束发言按钮和布局改动 2024-12-17 16:31:59 +08:00
fuenmao 79d8d0a437 听筒和会议信息浮层,点击覆盖区域可以关闭 2024-12-17 13:56:47 +08:00
fuenmao a113684567 配置大屏显示视频界面类型1 2024-12-17 13:53:01 +08:00
fuenmao 437f98772d 1.配置视频发送小流
2.配置大屏显示视频界面类型
2024-12-17 13:40:17 +08:00
3 changed files with 104 additions and 69 deletions

View File

@ -608,6 +608,8 @@ class MeetingMainLogic extends GetxController with RequestToolMixin {
//
await state.rctEngine.value?.enableAudioVolumeIndication(
interval: 200, smooth: 3, reportVad: true);
//
await state.rctEngine.value?.setDualStreamMode(mode: SimulcastStreamMode.enableSimulcastStream);
joinMeetingToRtc();

View File

@ -164,22 +164,6 @@ class MeetingMainPageState extends State<MeetingMainPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
///
Visibility(
visible: state.isSpeak.value,
child: GestureDetector(
child: Image.asset(
'assets/images/meeting_main_hang_up.png',
width: 22.w,
height: 22.h,
),
onTap: () {
logic.cancelSpeak();
},
),
),
SizedBox(width: 16.w),
/// 退
GestureDetector(
child: Image.asset(
@ -288,52 +272,82 @@ class MeetingMainPageState extends State<MeetingMainPage> {
)
: Container()),
GestureDetector(
child: Container(
width: 180.w,
height: 40.h,
margin:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
child: Container(
width: 200.w,
height: 40.h,
margin:
const EdgeInsets.only(left: 20, bottom: 40),
padding: const EdgeInsets.only(left: 20),
decoration: BoxDecoration(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(56),
topRight: Radius.circular(50),
bottomRight: Radius.circular(50)),
color: ColorUtil.Color_35_35_35_07,
border: Border.all(
width: 1.w,
color: ColorUtil.Color_99_111_158),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Image.asset(
'assets/images/meeting_main_chat.png',
width: 18.w,
height: 18.h,
padding: const EdgeInsets.only(left: 20),
decoration: BoxDecoration(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(56),
topRight: Radius.circular(50),
bottomRight: Radius.circular(50)),
color: ColorUtil.Color_35_35_35_07,
border: Border.all(
width: 1.w,
color: ColorUtil.Color_99_111_158),
),
SizedBox(width: 6.w),
Text(
'说点什么...',
style: TextStyle(
fontSize: 14.sp,
color: ColorUtil.Color_156_156_156),
)
],
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Image.asset(
'assets/images/meeting_main_chat.png',
width: 18.w,
height: 18.h,
),
SizedBox(width: 6.w),
Text(
'说点什么...',
style: TextStyle(
fontSize: 14.sp,
color: ColorUtil.Color_156_156_156),
)
],
),
),
onTap: () {
Get.bottomSheet(
isScrollControlled: true,
chatBottomSheet(context));
Future.delayed(const Duration(milliseconds: 100),
() {
state.chatController.jumpTo(state
.chatController.position.maxScrollExtent);
});
},
),
),
onTap: () {
Get.bottomSheet(
isScrollControlled: true,
chatBottomSheet(context));
Future.delayed(const Duration(milliseconds: 100),
() {
state.chatController.jumpTo(state
.chatController.position.maxScrollExtent);
});
},
Visibility(
visible: state.isSpeak.value,
child: GestureDetector(
child: Container(
width: 82.w,
height: 40.h,
margin: const EdgeInsets.only(left: 12, bottom: 40,right: 20),
alignment: Alignment.center,
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(99)),
color: ColorUtil.Color_255_69_69
),
child: Text(
'结束发言',
style: TextStyle(
fontSize: 14.sp,
color: ColorUtil.Color_255_255_255),
),
),
onTap: () {
logic.cancelSpeak();
},
),
)
],
)
],
),
@ -742,9 +756,15 @@ class MeetingMainPageState extends State<MeetingMainPage> {
),
),
Expanded(
child: Container(
color: ColorUtil.Color_57_57_57_08,
))
child: GestureDetector(
child: Container(
color: ColorUtil.Color_57_57_57_08,
),
onTap: (){
logic.changeMeetingInfoState(false);
},
)
)
],
),
);
@ -757,9 +777,14 @@ class MeetingMainPageState extends State<MeetingMainPage> {
child: Column(
children: [
Expanded(
child: Container(
color: ColorUtil.Color_57_57_57_08,
)),
child: GestureDetector(
child: Container(
color: ColorUtil.Color_57_57_57_08,
),
onTap: (){
logic.changeMeetingAudioState(false);
},
)),
Container(
color: ColorUtil.Color_57_57_57_08,
child: Container(
@ -777,9 +802,14 @@ class MeetingMainPageState extends State<MeetingMainPage> {
),
),
Expanded(
child: Container(
color: ColorUtil.Color_57_57_57_08,
))
child: GestureDetector(
child:Container(
color: ColorUtil.Color_57_57_57_08,
),
onTap: (){
logic.changeMeetingAudioState(false);
},
))
],
),
);
@ -1479,7 +1509,8 @@ class MeetingMainPageState extends State<MeetingMainPage> {
rtcEngine: state.rctEngine.value!,
canvas: VideoCanvas(
uid: int.tryParse(state.remoteUid.value),
setupMode: VideoViewSetupMode.videoViewSetupAdd),
setupMode: VideoViewSetupMode.videoViewSetupAdd,
renderMode: state.remoteUid.value.length == 9 ? RenderModeType.renderModeFit : RenderModeType.renderModeHidden),
),
)
: Container(

View File

@ -71,6 +71,8 @@ class ColorUtil {
static const Color_16_19_13 = Color.fromRGBO(16, 19, 13, 1);
static const Color_255_69_69 = Color.fromRGBO(255, 69, 69, 1);
///
/// hex, 0xffffff,
/// alpha, [0.0,1.0]