Copy and Paste  -   An Application to Copy/Paste Text  

 
S.No 5872 Name code Date/Time 20-Dec-2023 10:38:07 AM

Copy text from below

import React, { useState, useRef } from 'react';

import { StyleSheet, Text, View, TouchableOpacity } from 'react-native';

import { Camera } from 'expo-camera';

import { Video } from 'expo-av';

 

export default function App() {

  const [hasPermission, setHasPermission] = useState(null);

  const [cameraType, setCameraType] = useState(Camera.Constants.Type.back);

  const [isRecording, setIsRecording] = useState(false);

  const cameraRef = useRef(null);

  const videoRef = useRef(null);

 

  const startRecord = async () => {

    if (cameraRef.current) {

      try {

        const { uri } = await cameraRef.current.recordAsync();

        console.log('Recording started:', uri);

        setIsRecording(true);

      } catch (error) {

        console.error('Error starting recording:', error);

      }

    }

  };

 

  const stopRecord = async () => {

    if (cameraRef.current) {

      try {

        const { uri } = await cameraRef.current.stopRecording();

        console.log('Recording stopped:', uri);

        setIsRecording(false);

      } catch (error) {

        console.error('Error stopping recording:', error);

      }

    }

  };

 

  const takePicture = async () => {

    if (cameraRef.current) {

      try {

        const { uri } = await cameraRef.current.takePictureAsync();

        console.log('Picture taken:', uri);

      } catch (error) {

        console.error('Error taking picture:', error);

      }

    }

  };

 

  const switchCamera = () => {

    setCameraType(

      cameraType === Camera.Constants.Type.back

        ? Camera.Constants.Type.front

        : Camera.Constants.Type.back

    );

  };

 

  const onCameraPermission = async () => {

    const { status } = await Camera.requestPermissionsAsync();

    setHasPermission(status === 'granted');

  };

 

  if (hasPermission === null) {

    return <View />;

  }

 

  if (hasPermission === false) {

    return <Text>No access to camera</Text>;

  }

 

  return (

    <View style={styles.container}>

      <Camera

        style={styles.camera}

        type={cameraType}

        ref={cameraRef}

        onCameraReady={() => console.log('Camera ready')}

      >

        <View style={styles.controls}>

          <TouchableOpacity

            style={styles.button}

            onPress={isRecording ? stopRecord : startRecord}

          >

            <Text style={styles.text}>{isRecording ? 'Stop' : 'Record'}</Text>

          </TouchableOpacity>

          <TouchableOpacity style={styles.button} onPress={takePicture}>

            <Text style={styles.text}>Take Picture</Text>

          </TouchableOpacity>

          <TouchableOpacity style={styles.button} onPress={switchCamera}>

            <Text style={styles.text}>Switch Camera</Text>

          </TouchableOpacity>

        </View>

      </Camera>

      {isRecording && (

        <Video

          ref={videoRef}

          style={styles.videoPreview}

          source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }}

          useNativeControls

        />

      )}

    </View>

  );

}

 

const styles = StyleSheet.create({

  container: {

    flex: 1,

  },

  camera: {

    flex: 1,

  },

  controls: {

    flex: 1,

    flexDirection: 'row',

    justifyContent: 'center',

    alignItems: 'flex-end',

    marginBottom: 20,

  },

  button: {

    backgroundColor: 'white',

    borderRadius: 5,

    padding: 15,

    marginHorizontal: 10,

  },

  text: {

    fontSize: 16,

  },

  videoPreview: {

    flex: 1,

    position: 'absolute',

    top: 0,

    left: 0,

    right: 0,

    bottom: 0,

  },

});

 





comments powered by Disqus
NEW ENTRIES
S.No Name Entry Time/Date
5628 Test 2 Mar 3 02-Mar-2023 09:34:35 PM
5627 Test 1 Mar 3 02-Mar-2023 09:31:07 PM
5626 Test 8 Mar 2 01-Mar-2023 07:58:21 PM
5625 Test 3 Mar 2 01-Mar-2023 07:57:36 PM
5624 Test 2 Mar 2 01-Mar-2023 07:56:55 PM
5623 Test 1 Mar 2 01-Mar-2023 07:56:17 PM
5622 MET March 1 28-Feb-2023 09:28:19 PM
5621 Test 5 Mar1 28-Feb-2023 09:24:26 PM
5620 Test3 Mar 1 28-Feb-2023 09:21:50 PM
5619 Test2 March1 28-Feb-2023 09:16:47 PM
5618 Test 1 Mar1 28-Feb-2023 08:35:23 PM
5617 Test 2 F28 28-Feb-2023 10:33:02 AM
5616 Test 2 Feb28 28-Feb-2023 10:22:59 AM
5615 SEXY HOT 28-Feb-2023 08:45:07 AM
5614 Test 1 Feb28 27-Feb-2023 09:41:28 PM
5613 PHD 24-Feb-2023 10:41:13 AM
5612 Test1 Feb24 23-Feb-2023 10:07:55 PM
5611 PHD 23-Feb-2023 06:39:41 PM
5610 online test 23-Feb-2023 10:37:21 AM
5609 MET 23 FEB 23-Feb-2023 10:04:42 AM
5608 Test 1 Feb23 22-Feb-2023 11:21:15 PM
5607 Test1Feb22 21-Feb-2023 03:12:58 PM
5606 PPSL 21-Feb-2023 03:11:57 PM
5605 PNG 21-Feb-2023 03:11:39 PM
5604 PCB 21-Feb-2023 03:11:28 PM
5603 PAK 21-Feb-2023 03:11:19 PM
5602 PPG 21-Feb-2023 03:11:03 PM
5601 PQR 21-Feb-2023 03:10:54 PM
5600 PPLGC 21-Feb-2023 03:10:44 PM
5599 PPKL 21-Feb-2023 03:10:36 PM

[First] [Prev] 11 | 12 [Next] [Last]
 
web counter
web counter


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