|
|
|
@ -2,6 +2,7 @@ import 'package:common_utils/common_utils.dart'; |
|
|
|
import 'package:flutter/material.dart'; |
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
|
|
import 'package:get/get.dart'; |
|
|
|
import 'package:lottie/lottie.dart'; |
|
|
|
|
|
|
|
import '../controllers/meeting_details_controller.dart'; |
|
|
|
import 'speaker_all_bottom_sheet.dart'; |
|
|
|
@ -87,6 +88,43 @@ class SpeechTab extends GetView<MeetingDetailsController> { |
|
|
|
fontSize: 13.sp, |
|
|
|
), |
|
|
|
), |
|
|
|
Obx(() { |
|
|
|
bool isActive = false; |
|
|
|
int starttime = item['starttime']; |
|
|
|
int endtime = 0; |
|
|
|
if (index == controller.textList.length - 1) { |
|
|
|
endtime = controller.durationMax.value; |
|
|
|
} else { |
|
|
|
endtime = |
|
|
|
controller.textList[index + 1]['starttime']; |
|
|
|
} |
|
|
|
if (controller.currentDuration.value != 0) { |
|
|
|
if (controller.currentDuration.value >= starttime && |
|
|
|
controller.currentDuration.value < endtime) { |
|
|
|
isActive = true; |
|
|
|
} |
|
|
|
} |
|
|
|
return isActive |
|
|
|
? Container( |
|
|
|
width: 16.w, |
|
|
|
height: 16.w, |
|
|
|
margin: EdgeInsets.only(left: 5.w), |
|
|
|
alignment: Alignment.center, |
|
|
|
clipBehavior: Clip.hardEdge, |
|
|
|
decoration: BoxDecoration( |
|
|
|
color: Colors.red[100], |
|
|
|
borderRadius: BorderRadius.circular(4.r), |
|
|
|
), |
|
|
|
child: Transform.scale( |
|
|
|
scale: 1.6, |
|
|
|
child: Lottie.asset( |
|
|
|
'assets/lottie/sound_effect.json', |
|
|
|
controller: controller.lottieController, |
|
|
|
), |
|
|
|
), |
|
|
|
) |
|
|
|
: const SizedBox(); |
|
|
|
}), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
@ -169,9 +207,17 @@ class SpeechTab extends GetView<MeetingDetailsController> { |
|
|
|
return GestureDetector( |
|
|
|
behavior: HitTestBehavior.translucent, |
|
|
|
onTap: () { |
|
|
|
controller.playerController |
|
|
|
.seekTo(item['starttime']); |
|
|
|
controller.playerController.startPlayer(); |
|
|
|
if (isActive) { |
|
|
|
if (controller.isPlay.value) { |
|
|
|
controller.playerController.pausePlayer(); |
|
|
|
} else { |
|
|
|
controller.playerController.startPlayer(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
controller.playerController |
|
|
|
.seekTo(item['starttime']); |
|
|
|
controller.playerController.startPlayer(); |
|
|
|
} |
|
|
|
}, |
|
|
|
child: Container( |
|
|
|
width: double.infinity, |
|
|
|
|