pickFromCamera static method

Future<AssetEntity?> pickFromCamera(
  1. BuildContext context, {
  2. bool enableRecording = false,
  3. bool onlyEnableRecording = false,
  4. bool enableTapRecording = false,
  5. bool enableAudio = true,
  6. bool enableSetExposure = true,
  7. bool enableExposureControlOnPoint = true,
  8. bool enablePinchToZoom = true,
  9. bool enablePullToZoomInRecord = true,
  10. bool shouldDeletePreviewFile = false,
  11. bool shouldAutoPreviewVideo = false,
  12. Duration maximumRecordingDuration = const Duration(seconds: 15),
  13. ThemeData? theme,
  14. int cameraQuarterTurns = 0,
  15. CameraPickerTextDelegate? textDelegate,
  16. ResolutionPreset resolutionPreset = ResolutionPreset.max,
  17. ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown,
  18. CameraLensDirection preferredLensDirection = CameraLensDirection.back,
  19. Widget foregroundBuilder(
    1. CameraValue
    )?,
  20. EntitySaveCallback? onEntitySaving,
  21. CameraErrorHandler? onError,
  22. bool useRootNavigator = true,
})

Static method to create AssetEntity through camera. 通过相机创建 AssetEntity 的静态方法

Implementation

static Future<AssetEntity?> pickFromCamera(
  BuildContext context, {
  bool enableRecording = false,
  bool onlyEnableRecording = false,
  bool enableTapRecording = false,
  bool enableAudio = true,
  bool enableSetExposure = true,
  bool enableExposureControlOnPoint = true,
  bool enablePinchToZoom = true,
  bool enablePullToZoomInRecord = true,
  bool shouldDeletePreviewFile = false,
  bool shouldAutoPreviewVideo = false,
  Duration maximumRecordingDuration = const Duration(seconds: 15),
  ThemeData? theme,
  int cameraQuarterTurns = 0,
  CameraPickerTextDelegate? textDelegate,
  ResolutionPreset resolutionPreset = ResolutionPreset.max,
  ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown,
  CameraLensDirection preferredLensDirection = CameraLensDirection.back,
  Widget Function(CameraValue)? foregroundBuilder,
  EntitySaveCallback? onEntitySaving,
  CameraErrorHandler? onError,
  bool useRootNavigator = true,
}) {
  if (enableRecording != true && onlyEnableRecording == true) {
    throw ArgumentError('Recording mode error.');
  }
  return Navigator.of(
    context,
    rootNavigator: useRootNavigator,
  ).push<AssetEntity>(
    SlidePageTransitionBuilder<AssetEntity>(
      builder: CameraPicker(
        enableRecording: enableRecording,
        onlyEnableRecording: onlyEnableRecording,
        enableTapRecording: enableTapRecording,
        enableAudio: enableAudio,
        enableSetExposure: enableSetExposure,
        enableExposureControlOnPoint: enableExposureControlOnPoint,
        enablePinchToZoom: enablePinchToZoom,
        enablePullToZoomInRecord: enablePullToZoomInRecord,
        shouldDeletePreviewFile: shouldDeletePreviewFile,
        shouldAutoPreviewVideo: shouldAutoPreviewVideo,
        maximumRecordingDuration: maximumRecordingDuration,
        theme: theme,
        cameraQuarterTurns: cameraQuarterTurns,
        textDelegate: textDelegate,
        resolutionPreset: resolutionPreset,
        imageFormatGroup: imageFormatGroup,
        preferredLensDirection: preferredLensDirection,
        foregroundBuilder: foregroundBuilder,
        onEntitySaving: onEntitySaving,
        onError: onError,
      ),
      transitionCurve: Curves.easeIn,
      transitionDuration: _kRouteDuration,
    ),
  );
}