no message

This commit is contained in:
1147192855@qq.com 2024-04-25 10:59:37 +08:00
parent 3666bea6bd
commit 919f71f28b
1 changed files with 27 additions and 25 deletions

View File

@ -408,15 +408,14 @@ class _HandwritingDrawBoxState extends ConsumerState<HandwritingDrawBox> with Ev
toGoPlay(); toGoPlay();
} else { } else {
// //
toGoPause(); toGoPause(_val.recalculate);
} }
break; break;
case PlaybackSpeedBus: case PlaybackSpeedBus:
// //
var _model = (e as PlaybackSpeedBus); var _model = (e as PlaybackSpeedBus);
speed = _model.speed; speed = _model.speed;
toGoPause(); // dragProgressBarInitData(handwritingDuration - handwritingTime, handwritingDuration);
dragProgressBarInitData(handwritingTime, handwritingDuration);
break; break;
default: default:
} }
@ -449,12 +448,13 @@ class _HandwritingDrawBoxState extends ConsumerState<HandwritingDrawBox> with Ev
} }
// //
Future<void> toGoPause() async { Future<void> toGoPause(bool recalculate) async {
timers.forEach((e) { timers.forEach((e) {
if (e.isActive) e.cancel(); if (e.isActive) e.cancel();
}); });
timers = []; timers = [];
if (pendingData.isNotEmpty && handwritingTime > 0 && (handwritingDuration - handwritingTime > 0)) { // -=
if (recalculate && pendingData.isNotEmpty && handwritingTime > 0 && (handwritingDuration - handwritingTime > 0)) {
// //
pendingData = pendingData.map((e) { pendingData = pendingData.map((e) {
return GestureHandwritingRecording( return GestureHandwritingRecording(
@ -470,7 +470,7 @@ class _HandwritingDrawBoxState extends ConsumerState<HandwritingDrawBox> with Ev
/// ///
/// @param startTime /// @param startTime
Future<void> dragProgressBarInitData(int startTime, int totalDuration) async { Future<void> dragProgressBarInitData(int startTime, int totalDuration) async {
eventFire(model: JobHandwritingPlaybarBus(false)); eventFire(model: JobHandwritingPlaybarBus(false, false));
timers.forEach((e) { timers.forEach((e) {
if (e.isActive) e.cancel(); if (e.isActive) e.cancel();
}); });
@ -489,7 +489,7 @@ class _HandwritingDrawBoxState extends ConsumerState<HandwritingDrawBox> with Ev
for (var i = 0; i < _packagedHandwritingDataAll.length; i++) { for (var i = 0; i < _packagedHandwritingDataAll.length; i++) {
var item = _packagedHandwritingDataAll[i]; var item = _packagedHandwritingDataAll[i];
if (item.intervalTime < startTime) { if (item.intervalTime <= startTime) {
// //
executeImmediately.add(item); executeImmediately.add(item);
} else { } else {
@ -515,29 +515,30 @@ class _HandwritingDrawBoxState extends ConsumerState<HandwritingDrawBox> with Ev
List<GestureHandwritingRecording> trajectorys = ref.read(jobHandwritingDrawingTrajectoryProvider)..add(e); List<GestureHandwritingRecording> trajectorys = ref.read(jobHandwritingDrawingTrajectoryProvider)..add(e);
ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal(List.from(trajectorys)); ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal(List.from(trajectorys));
pendingData.remove(e); // pendingData.remove(e); //
print('正在执行播放.............');
} }
} }
/// ///
Future<void> toGoPlay() async { Future<void> toGoPlay() async {
handwritingTime = 0; try {
var executableData = _packagedHandwritingDataAll; handwritingTime = 0;
if (pendingData.isNotEmpty) { var executableData = _packagedHandwritingDataAll;
// if (pendingData.isNotEmpty) {
executableData = pendingData; //
} else { executableData = pendingData;
pendingData.addAll(_packagedHandwritingDataAll);
ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]);
}
executableData.forEach((e) {
if (e.intervalTime == 0) {
zhixinCall(e);
} else { } else {
pendingData.addAll(_packagedHandwritingDataAll);
ref.read(jobHandwritingDrawingTrajectoryProvider.notifier).setVal([]);
}
executableData.forEach((e) {
var ter = Timer(Duration(milliseconds: e.intervalTime ~/ speed), () => zhixinCall(e)); var ter = Timer(Duration(milliseconds: e.intervalTime ~/ speed), () => zhixinCall(e));
timers.add(ter); timers.add(ter);
} });
}); } catch (e) {
print('播放报错:$e');
}
} }
// //
@ -761,7 +762,7 @@ Widget $bottomPlaybar(BuildContext context, int timeConsuming, int pauseCount, L
width: unitScale * (item.apart ?? 0), width: unitScale * (item.apart ?? 0),
height: 8.h, height: 8.h,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Color.fromRGBO(202, 201, 201, 1),
borderRadius: isFirst borderRadius: isFirst
? BorderRadius.only(topLeft: Radius.circular(8.r), bottomLeft: Radius.circular(10.r)) ? BorderRadius.only(topLeft: Radius.circular(8.r), bottomLeft: Radius.circular(10.r))
: (isLast ? BorderRadius.only(topRight: Radius.circular(8.r), bottomRight: Radius.circular(10.r)) : null), : (isLast ? BorderRadius.only(topRight: Radius.circular(8.r), bottomRight: Radius.circular(10.r)) : null),
@ -780,7 +781,7 @@ Widget $bottomPlaybar(BuildContext context, int timeConsuming, int pauseCount, L
width: containerWidth, width: containerWidth,
decoration: BoxDecoration( decoration: BoxDecoration(
// color: Color.fromRGBO(146, 146, 146, 1), // color: Color.fromRGBO(146, 146, 146, 1),
color: Color.fromRGBO(202, 201, 201, 1), color: Colors.white,
borderRadius: BorderRadius.circular(50.r), borderRadius: BorderRadius.circular(50.r),
), ),
), ),
@ -920,7 +921,8 @@ class UseBottomPlaybar with EventBusMixin {
// //
class JobHandwritingPlaybarBus { class JobHandwritingPlaybarBus {
bool play; bool play;
JobHandwritingPlaybarBus(this.play); bool recalculate;
JobHandwritingPlaybarBus(this.play, [this.recalculate = true]);
} }
// () // ()