Copy and Paste  -   An Application to Copy/Paste Text  

 
S.No 5874 Name cam_expo Date/Time 21-Dec-2023 10:13:11 AM

Copy text from below
import React, { useEffect, useRef, useState } from 'react';
import { Text, View, StyleSheet, TouchableOpacity, Platform } from 'react-native';
import { Camera } from 'expo-camera';
import * as MediaLibrary from 'expo-media-library';

const App = () => {
const [cameraType, setCameraType] = useState(Camera.Constants.Type.back);
const [recordingStatus, setRecordingStatus] = useState(false);
const cameraRef = useRef(null);

useEffect(() => {
(async () => {
const { status:camera } = await Camera.requestCameraPermissionsAsync();
if (camera !== 'granted') {
alert('Camera permission not granted');
}
const { status:audio } = await Camera.requestMicrophonePermissionsAsync();
if (audio !== 'granted') {
alert('audio permission not granted');
}
})();
}, []);

const flipCamera = () => {
setCameraType(
cameraType === Camera.Constants.Type.back
? Camera.Constants.Type.front
: Camera.Constants.Type.back
);
};

const takePhoto = async () => {
if (cameraRef.current) {
const photo = await cameraRef.current.takePictureAsync();

if (Platform.OS === 'android' || Platform.OS === 'ios') {
await MediaLibrary.saveToLibraryAsync(photo.uri);
} else {
console.log('Saving to library not supported on this platform.');
}
}
};

const startRecording = async () => {
setRecordingStatus(true);
if (cameraRef.current) {
const video = await cameraRef.current.recordAsync();

if (Platform.OS === 'android' || Platform.OS === 'ios') {
await MediaLibrary.saveToLibraryAsync(video.uri);
} else {
console.warn('Saving to library not supported on this platform.');
}
}
};

const stopRecording = async () => {
setRecordingStatus(false);
if (cameraRef.current) {
cameraRef.current.stopRecording();
}
};

return (
<View style={styles.container}>
<Camera style={styles.camera} type={cameraType} ref={cameraRef} />

<View style={styles.controls}>
<TouchableOpacity style={styles.button} onPress={flipCamera}>
<Text style={styles.buttonText}>Flip</Text>
</TouchableOpacity>

<TouchableOpacity style={styles.button} onPress={takePhoto}>
<Text style={styles.buttonText}>Photo</Text>
</TouchableOpacity>

<TouchableOpacity
style={[
styles.button,
{ backgroundColor: recordingStatus ? 'red' : '#DDDDDD' },
]}
onPress={() => (recordingStatus ? stopRecording() : startRecording())}
>
<Text style={styles.buttonText}>
{recordingStatus ? 'Stop Recording' : 'Start Recording'}
</Text>
</TouchableOpacity>
</View>
</View>
);
};

const styles = StyleSheet.create({
container: {
flex: 1,
},
camera: {
flex: 0.9,
},
controls: {
flex: 0.1,
flexDirection: 'row',
backgroundColor: 'grey',
justifyContent: 'space-around',
alignItems: 'center',
},
button: {
alignItems: 'center',
padding: 15,
margin: 5,
},
buttonText: {
fontSize: 20,
fontWeight: 'bold',
},
});

export default App;




comments powered by Disqus
NEW ENTRIES
S.No Name Entry Time/Date
5904 David\'s RV P 26-Feb-2024 11:15:44 AM
5903 Child HOT 22-Feb-2024 06:43:26 AM
5902 Dumpsterfl 20-Feb-2024 01:33:22 PM
5901 Danielle Simpson 18-Feb-2024 03:26:15 AM
5900 KID Vids 05-Feb-2024 08:43:49 AM
5899 02-Feb-2024 07:00:42 PM
5898 pool 26-Jan-2024 06:49:53 PM
5897 vvvv 24-Jan-2024 08:50:49 PM
5896 qqqqq 24-Jan-2024 08:26:57 PM
5895 addmaxexport 20-Jan-2024 06:39:13 PM
5894 geophrmarx 20-Jan-2024 06:38:48 PM
5893 readymedicin 20-Jan-2024 06:38:01 PM
5892 18-Jan-2024 10:37:50 AM
5891 Full-CP 17-Jan-2024 12:09:21 PM
5890 ss 17-Jan-2024 10:12:18 AM
5889 NEW KIDs 16-Jan-2024 08:06:16 AM
5888 Test 2 13-Jan-2024 11:57:53 AM
5887 Child Vids 09-Jan-2024 06:40:28 AM
5886 EntranceIQ 05-Jan-2024 02:04:27 PM
5885 New Child 03-Jan-2024 07:13:03 AM
5884 xyz 31-Dec-2023 04:09:19 AM
5883 aaaaaa 29-Dec-2023 01:24:48 AM
5882 Saragamasa 29-Dec-2023 01:19:17 AM
5881 copyWithin() 28-Dec-2023 09:21:58 AM
5880 Paster 27-Dec-2023 10:02:58 PM
5879 imagePicker 22-Dec-2023 10:33:52 PM
5878 Test 1 22-Dec-2023 11:07:15 AM
5877 Test 2 22-Dec-2023 11:06:28 AM
5876 Test 3 22-Dec-2023 11:04:29 AM
5875 hamza jadoon 21-Dec-2023 10:23:58 AM

[First] [Prev] 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 [Next] [Last]
 
web counter
web counter


To report any error messages or bugs, or other issues, please send email at: info@pakproject.com