camara_plugin.dart 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import 'package:camera/camera.dart';
  2. //import 'package:image_picker_web/image_picker_web.dart';
  3. import '../interfaces/camara_interface.dart';
  4. import '../models/media_model.dart';
  5. import "package:universal_html/html.dart" as html;
  6. class CamaraPlugin implements CamaraInterface {
  7. XFile? _currentImage;
  8. List<XFile>? _currentImageList;
  9. @override
  10. Future<Media?> imageFromCamera() async {
  11. /* _currentImage = await ImagePickerWeb().pickImage(
  12. source: ImageSource.camera, maxWidth: 1024.0, maxHeight: 768.0
  13. );
  14. if (_currentImage == null) return Future.value(null);
  15. String directorio = (await getApplicationDocumentsDirectory()).path;
  16. String fecha = DateTime.now().millisecondsSinceEpoch.toString();
  17. await _currentImage!.saveTo("$directorio/$fecha.jpg");
  18. return Media(
  19. ruta: _currentImage?.path,
  20. tipo: 'imagen',
  21. ); */
  22. }
  23. @override
  24. Future<Media?> imageFromGallery() async {
  25. /* _currentImage = await ImagePicker().pickImage(source: ImageSource.gallery);
  26. if (_currentImage == null) return Future.value(null);
  27. return Media(
  28. ruta: _currentImage?.path,
  29. tipo: 'imagen',
  30. ); */
  31. }
  32. @override
  33. Future<List<Media>?> multiImageFromGallery() async {
  34. /* _currentImageList = await ImagePicker().pickMultiImage();
  35. if (_currentImageList == null) return Future.value(null);
  36. final List<Media> mediaList = [];
  37. for (var media in _currentImageList!) {
  38. mediaList.add(Media(
  39. ruta: media.path,
  40. tipo: 'imagen',
  41. ));
  42. }
  43. return mediaList; */
  44. }
  45. @override
  46. Future<Media?> videoFromCamera() async {
  47. //html.File? videoFile = await ImagePickerWeb.getVideoAsFile();
  48. /* ImagePicker picker = ImagePicker();
  49. _currentImage = await picker.pickVideo(source: ImageSource.camera, maxDuration:const Duration(seconds: 15));
  50. if (_currentImage == null) return Future.value(null);
  51. //FlutterFFmpeg _flutterFFmpeg = FlutterFFmpeg();
  52. String directorio = (await getApplicationDocumentsDirectory()).path;
  53. String fecha = DateTime.now().millisecondsSinceEpoch.toString();
  54. String laruta = "$directorio/$fecha.mp4";
  55. await _currentImage!.saveTo(laruta); */
  56. /* String inputPath = laruta;//'path/to/your/original/video.mp4';
  57. String outputPath =laruta;// 'path/to/your/compressed/video.mp4';
  58. String command = '-i $inputPath -c:v libx264 -preset ultrafast $outputPath';
  59. int rc = await _flutterFFmpeg.execute(command); */
  60. /* var thumbnailFile = await VideoCompress.getFileThumbnail(
  61. laruta.toString(),
  62. quality: 50, // default(100)
  63. position: -1 // default(-1)
  64. ); */
  65. /* MediaInfo? info = await VideoCompress.compressVideo(
  66. laruta.toString(),
  67. //quality: VideoQuality.DefaultQuality,
  68. quality: VideoQuality.LowQuality,
  69. //quality: VideoQuality.Res640x480Quality,
  70. deleteOrigin: false,
  71. );
  72. await info!.file!.copy(laruta);
  73. print("que onda con el path");
  74. print(info.file!.path);
  75. print(laruta);
  76. //info!.file;
  77. return Media(
  78. ruta: laruta,
  79. tipo: 'video',
  80. ); */
  81. }
  82. }