Özet - Kamera
- React Native kursu
- İleri seviye
- Ders 12/83
- 5 dk
expo-camera, takePictureAsync ve flash'ı birleştirerek bir kamera uygulaması yazarsın.
Özet - Kamera
Bu grupta expo-camera paketini kurmayı, kamera izni istemeyi, takePictureAsync ile fotoğraf çekmeyi, ön/arka kamera değiştirmeyi ve flash modunu yönetmeyi gördün. Bir kamera uygulamasının çekirdeği bu beş parçadan oluşur.
Özette bu parçaları tek bir uygulamada birleştireceğiz: izin akışı, fotoğraf çekme ve kamera değiştirme. Bu üçü birlikte gerçek bir kamera ekranı oluşturur. Şimdi bunları birleştirelim.
Uygulama Özet - Fotoğraf çek
takePhoto işlevini tamamla. const photo = await cameraRef.current.takePictureAsync() çağır; return photo.uri ile dosya yolunu döndür. cameraRef parametre olarak verilir.
Başlangıç kodu
export async function takePhoto(cameraRef) {
// fotoğraf çek ve uri'yi döndür
}Örnek çözüm
const photo = await cameraRef.current.takePictureAsync();
return photo.uri;Uygulama Özet - Kamera değiştir
Boş toggleCamera işlevini tamamla. setType(prev => prev === CameraType.back ? CameraType.front : CameraType.back) yaz. setType parametre olarak verilir.
Başlangıç kodu
import { CameraType } from 'expo-camera';
export function toggleCamera(setType) {
// kamera türünü değiştir
}Örnek çözüm
setType(prev => prev === CameraType.back ? CameraType.front : CameraType.back);Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İzin işlevini yaz
const permission = await Camera.____();
const permission = await Camera.requestCameraPermissionsAsync();
Açıklama: requestCameraPermissionsAsync izin ister.
2 Akış parçasını rolüne eşle
| Kavram | Anlamı |
|---|---|
requestCameraPermissionsAsync |
İzin ister |
takePictureAsync |
Fotoğraf çeker |
CameraType.front |
Ön kamera |
FlashMode.auto |
Otomatik flaş |