[flutter] 플러터 프로바이더를 사용하여 카메라 제어하기
플러터를 사용하면 카메라를 쉽게 제어할 수 있습니다. 이를 위해 camera
패키지와 provider
패키지를 사용하여 카메라 앱을 개발할 수 있습니다.
1. camera
패키지 설치
먼저 pubspec.yaml
파일에 아래와 같이 camera
패키지를 추가합니다.
dependencies:
camera: ^0.9.4+5
그리고 터미널에서 아래 명령을 실행하여 패키지를 설치합니다.
flutter pub get
2. 카메라 프로바이더 생성
다음으로 카메라를 제어하기 위해 provider
패키지를 사용하여 카메라 프로바이더를 생성합니다. 이 프로바이더는 카메라와 관련된 작업을 담당합니다.
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
import 'package:provider/provider.dart';
class CameraProvider with ChangeNotifier {
CameraController? _cameraController;
void initializeCamera() async {
final cameras = await availableCameras();
_cameraController = CameraController(cameras[0], ResolutionPreset.high);
await _cameraController!.initialize();
notifyListeners();
}
CameraController? get cameraController => _cameraController;
}
3. 카메라 화면 구성
카메라 화면을 구성하기 위해 CameraProvider
를 사용하여 카메라를 초기화하고 화면에 표시합니다.
class CameraScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cameraProvider = Provider.of<CameraProvider>(context, listen: false);
cameraProvider.initializeCamera();
return Consumer<CameraProvider>(
builder: (context, cameraProvider, child) {
if (cameraProvider.cameraController != null) {
return CameraPreview(cameraProvider.cameraController!);
} else {
return Center(child: CircularProgressIndicator());
}
},
);
}
}
결론
위의 단계를 따라하면 플러터에서 provider
패키지를 사용하여 카메라를 제어할 수 있습니다. 이제 여러분은 간단한 카메라 앱을 만들고 향상시킬 수 있는 기반을 갖추었습니다.