import React, { useCallback, useRef } from 'react'; import { Button, SafeAreaView, ScrollView, StatusBar, View, } from 'react-native'; import CameraRoll from '@react-native-community/cameraroll'; import { Camera, useCameraDevices } from 'react-native-vision-camera'; const App = () => { const cameraRef = useRef(null); const devices = useCameraDevices(); const device = devices.back; console.log(JSON.stringify(devices)); const startRecording = useCallback(() => { cameraRef?.current?.startRecording({ onRecordingFinished: async (video) => { console.log(video.path); try { await CameraRoll.save(video.path); } catch (e) { console.log(e); } }, onRecordingError: (error) => console.error(error), }); }, []); const stopRecording = useCallback(async () => { await cameraRef?.current?.stopRecording(); }, []); return ( {device !== null && device !== undefined && ( )}