Skip to content

Commit 19af8b4

Browse files
committed
🚑️ Provide better experiences when video record need to prepare
Fix #55
1 parent 78f1997 commit 19af8b4

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

lib/src/widgets/camera_picker.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,6 @@ class CameraPickerState extends State<CameraPicker>
373373
/// 通过常量全局 Key 获取当前选择器的主题
374374
ThemeData get theme => _theme;
375375

376-
bool _isPreparedForIOSRecording = false;
377-
378376
@override
379377
void initState() {
380378
super.initState();
@@ -507,7 +505,10 @@ class CameraPickerState extends State<CameraPicker>
507505

508506
try {
509507
await controller.initialize();
510-
Future.wait<void>(<Future<dynamic>>[
508+
if (shouldPrepareForVideoRecording) {
509+
await controller.prepareForVideoRecording();
510+
}
511+
Future.wait(<Future<void>>[
511512
(() async => _maxAvailableExposureOffset =
512513
await controller.getMaxExposureOffset())(),
513514
(() async => _minAvailableExposureOffset =
@@ -778,10 +779,6 @@ class CameraPickerState extends State<CameraPicker>
778779
/// 设置拍摄文件路径并开始录制视频
779780
Future<void> startRecordingVideo() async {
780781
if (!controller.value.isRecordingVideo) {
781-
if (!_isPreparedForIOSRecording) {
782-
await controller.prepareForVideoRecording();
783-
_isPreparedForIOSRecording = true;
784-
}
785782
controller.startVideoRecording().then((dynamic _) {
786783
safeSetState(() {});
787784
if (isRecordingRestricted) {

0 commit comments

Comments
 (0)