优化录制、停止录制逻辑
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:recording_tool/core/utils/rate_limiter.dart';
|
||||
import 'package:recording_tool/features/recording/model/model_recording_session.dart';
|
||||
import 'package:recording_tool/features/recording/widgets/widget_clipboard_address_clock_chip.dart';
|
||||
import 'package:recording_tool/features/recording/widgets/widget_recording_setup_hints.dart';
|
||||
@@ -116,9 +117,23 @@ class RecordingHudWidget extends StatelessWidget {
|
||||
? null
|
||||
: () async {
|
||||
if (state.isRecording) {
|
||||
await onStop();
|
||||
RateLimit.instance.debounce<void>(
|
||||
key: 'recording.session.stop',
|
||||
value: null,
|
||||
duration: Duration(milliseconds: 300),
|
||||
onCallback: (_) async {
|
||||
await onStop();
|
||||
},
|
||||
);
|
||||
} else {
|
||||
await onStart();
|
||||
RateLimit.instance.debounce<void>(
|
||||
key: 'recording.session.start',
|
||||
value: null,
|
||||
duration: Duration(milliseconds: 300),
|
||||
onCallback: (_) async {
|
||||
await onStart();
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
child: Container(
|
||||
@@ -126,10 +141,7 @@ class RecordingHudWidget extends StatelessWidget {
|
||||
height: _recordButtonSize,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color: Colors.white,
|
||||
width: 4.r,
|
||||
),
|
||||
border: Border.all(color: Colors.white, width: 4.r),
|
||||
color: state.isRecording ? Colors.white : Colors.red,
|
||||
),
|
||||
child: Icon(
|
||||
|
||||
Reference in New Issue
Block a user