Advertisement
AnoTest

camera_view_flutter

Jan 9th, 2022
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. import 'package:camera/camera.dart';
  2. import 'package:cloud_firestore/cloud_firestore.dart';
  3. import 'package:firebase_core/firebase_core.dart';
  4. import 'package:firebase_storage/firebase_storage.dart';
  5. import 'package:flutter/cupertino.dart';
  6. import 'package:flutter/material.dart';
  7. import 'package:flutter/widgets.dart';
  8. import 'dart:io';
  9. import 'package:firebase_storage/firebase_storage.dart' as firebase_storage;
  10. import 'package:flutter_application_1_story_camera/functions/cameraFunctions.dart';
  11. import 'package:flutter_application_1_story_camera/screens/cameraView.dart';
  12. import 'package:flutter_application_1_story_camera/widgets/cameraUI.dart';
  13.  
  14. late List<CameraDescription> cameras;
  15.  
  16. class CameraScreen extends StatefulWidget {
  17. const CameraScreen({Key? key}) : super(key: key);
  18.  
  19. @override
  20. _CameraScreenState createState() => _CameraScreenState();
  21. }
  22.  
  23. class _CameraScreenState extends State<CameraScreen>
  24. with WidgetsBindingObserver {
  25. late CameraController _controller;
  26. late Future<void> _initController;
  27. var isCameraReady = false;
  28. // bool isRecoring = false;
  29. bool iscamerafront = true;
  30. double transform = 0;
  31. // bool flash = false;
  32.  
  33. late XFile imageFile;
  34.  
  35. @override
  36. void initState() {
  37. FirebaseFirestore.instance;
  38. super.initState();
  39. initCamera();
  40. WidgetsBinding.instance!.addObserver(this);
  41. }
  42.  
  43. @override
  44. void dispose() {
  45. WidgetsBinding.instance!.removeObserver(this);
  46. _controller.dispose();
  47. super.dispose();
  48. }
  49.  
  50. // @override
  51. // void didChangeAppLifecycleState(AppLifecycleState state) {
  52. // if (state == AppLifecycleState.resumed)
  53. // _initController =
  54. // (_controller != null ? _controller.initialize() : null)!;
  55.  
  56. // super.didChangeAppLifecycleState(state);
  57. // }
  58.  
  59. // Widget cameraWidget(context) {
  60. // var camera = _controller.value;
  61. // return CameraPreview(_controller);
  62. // }
  63.  
  64. @override
  65. Widget build(BuildContext context) {
  66. return Scaffold(
  67. backgroundColor: Colors.black,
  68. // appBar: AppBar(),
  69. body: FutureBuilder<void>(
  70. future: _initController,
  71. builder: (context, snapshot) {
  72. if (snapshot.connectionState == ConnectionState.done) {
  73. return CameraUi(
  74. controller: _controller,
  75. initController: _initController,
  76. cameras: cameras,
  77. iscameraFront: iscamerafront,
  78. );
  79. } else {
  80. return const Center(child: CircularProgressIndicator());
  81. }
  82. },
  83. ),
  84. );
  85. }
  86.  
  87. Future<void> initCamera() async {
  88. cameras = await availableCameras();
  89. // final firstCamera = cameras.first;
  90. _controller = CameraController(
  91. cameras[0],
  92. ResolutionPreset.veryHigh,
  93. );
  94. _initController = _controller.initialize();
  95. if (!mounted) return;
  96. setState(() {
  97. isCameraReady = true;
  98. });
  99. }
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement