Kom i gang. Det er Gratis
eller tilmeld med din email adresse
Camera af Mind Map: Camera

1. Instalação

1.1. npx expo install expo-camera

2. Usage

2.1. import { Camera, CameraType } from 'expo-camera'; import { useState } from 'react'; import { Button, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; export default function App() { const [type, setType] = useState(CameraType.back); const [permission, requestPermission] = Camera.useCameraPermissions(); if (!permission) ... if (!permission.granted) ... function toggleCameraType() { setType(current => (current === CameraType.back ? CameraType.front : CameraType.back)); } return ( <View style={styles.container}> <Camera style={styles.camera} type={type}> <View style={styles.buttonContainer}> <TouchableOpacity style={styles.button} onPress={toggleCameraType}> <Text style={styles.text}>Flip Camera</Text> </TouchableOpacity> </View> </Camera> </View> ); } const styles = StyleSheet.create({ ... });

3. Propriedades

3.1. autoFocus

3.1.1. Estado do foco automático da câmera. Use um dos AutoFoco.<valor>. Quando AutoFocus.on, o foco automático será ativado, quando AutoFocus.off, não e o foco será bloqueado como estava no momento da mudança, mas pode ser ajustado em alguns dispositivos por meio do suporte focusDepth.

3.2. barCodeScannerSettings

3.2.1. Settings exposed by BarCodeScanner module. Supported settings: barCodeTypes.

3.2.1.1. Exemplo <Camera barCodeScannerSettings={{ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.qr], }} />

3.3. faceDetectorSettings

3.3.1. Um objeto de configuração passado diretamente para um módulo subjacente que fornece recursos de detecção facial. Consulte DetectionOptions na documentação do FaceDetector para obter detalhes.

3.4. flashMode

3.4.1. Modo de flash da câmera. Use um dos FlashMode.<value>. Quando FlashMode.on, o flash do seu dispositivo irá ligar ao tirar uma foto, quando FlashMode.off, não. Definir como FlashMode.auto disparará o flash se necessário, FlashMode.torch liga o flash durante a visualização.

3.5. focusDepth

3.5.1. Distância ao plano do foco mais nítido. Um valor entre 0 e 1 onde: 0 - foco infinito, 1 - foco o mais próximo possível. Para Android, isso está disponível apenas para alguns dispositivos e quando useCamera2Api está definido como verdadeiro.

3.6. pictureSize

3.6.1. Uma cadeia de caracteres que representa o tamanho das fotos que o takePictureAsync tirará. Os tamanhos disponíveis podem ser obtidos com getAvailablePictureSizesAsync.

3.7. poster

3.7.1. Um URL para uma imagem a ser mostrada enquanto a câmera está carregando.

3.8. ratio

3.8.1. Uma string representando a proporção da visualização, por exemplo. 4:3, 16:9, 1:1. Para verificar se uma proporção é suportada pelo dispositivo, use getSupportedRatiosAsync.

3.9. type

3.9.1. Câmera de frente. Use um dos CameraType. Quando CameraType.front, use a câmera frontal. Quando CameraType.back, use a câmera voltada para trás.

3.10. useCamera2Api

3.10.1. Se deve usar a API Camera2 do Android. Consulte a observação no topo desta página.

3.11. videoStabilizationMode

3.11.1. O modo de estabilização de vídeo usado para uma gravação de vídeo. Use um dos VideoStabilization.<value>. Você pode ler mais sobre cada tipo de estabilização na documentação da Apple.

3.12. whiteBalance

3.12.1. Balanço de branco da câmera. Use um dos WhiteBalance.<valor>. Se um dispositivo não suportar nenhum desses valores, o anterior será usado.

3.13. zoom

3.13.1. Um valor entre 0 e 1 sendo uma porcentagem do zoom máximo do dispositivo. 0 - sem zoom, 1 - zoom máximo.

3.14. onBarCodeScanned

3.14.1. Callback que é invocado quando um código de barras foi digitalizado com sucesso. O retorno de chamada é fornecido com um objeto da forma BarCodeScanningResult, onde o tipo refere-se ao tipo de código de barras que foi digitalizado e os dados são as informações codificadas no código de barras (neste caso de códigos QR, geralmente é uma URL). Consulte BarCodeScanner.Constants.BarCodeType para obter os valores suportados.

3.15. onCameraReady

3.15.1. Retorno de chamada invocado quando a visualização da câmera foi definida.

3.16. onFacesDetected

3.16.1. Retorno de chamada invocado com resultados de detecção de face na visualização. Consulte a documentação do FaceDetector para obter detalhes.

3.17. onMountError

3.17.1. Retorno de chamada chamado quando a visualização da câmera não pôde ser iniciada.

4. Api

4.1. import { Camera } from 'expo-camera';

5. Métodos estáticos

5.1. getAvaliableCameraTypesAsync()

5.1.1. Retorna uma lista de tipos de câmeras ['front', 'back']. Isso é útil para navegadores de desktop que possuem apenas câmeras frontais.

5.2. getAvaliableVideoCodecsAsync()

5.2.1. Consulta o dispositivo para obter os codecs de vídeo disponíveis que podem ser usados ​​na gravação de vídeo.

5.3. isAvaliableAsync()

5.3.1. Verifique se o dispositivo atual possui uma câmera. Isso é útil para casos de web e simuladores. Isso não é influenciado pela API de permissões (todas as plataformas) ou pelo uso de HTTP (no navegador). Você ainda precisará verificar se a permissão nativa foi aceita.

6. Métodos

6.1. .getCameraPermissionAsync()

6.1.1. Verifica as permissões do usuário para acessar a câmera.

6.1.1.1. Returns Promise<PermissionResponse> A promise that resolves to an object of type PermissionResponse.

6.2. .getMicrophonePermissionAsync()

6.2.1. Verifica as permissões do usuário para acessar o microfone.

6.2.1.1. devoluções Promessa<PermissãoResposta> Uma promessa que resolve para um objeto do tipo PermissionResponse.

6.3. .getPermissionAsync()

6.3.1. Descontinuada. Em vez disso, use getCameraPermissionsAsync ou getMicrophonePermissionsAsync. Verifica as permissões do usuário para acessar a câmera.

6.4. .requestCameraPermissionAsync()

6.4.1. Pede ao usuário para conceder permissões para acessar a câmera. No iOS, isso exigirá que os aplicativos especifiquem uma entrada NSCameraUsageDescription no Info.plist.

6.4.1.1. devoluções Promessa<PermissãoResposta> Uma promessa que resolve para um objeto do tipo PermissionResponse.

6.5. .requestMicrophonePermissionAsync()

6.5.1. Solicita ao usuário que conceda permissões para acessar o microfone. No iOS, isso exigirá que os aplicativos especifiquem uma entrada NSMicrophoneUsageDescription no Info.plist.

6.5.1.1. devoluções Promessa<PermissãoResposta> Uma promessa que resolve para um objeto do tipo PermissionResponse.

6.6. .requestPermissionAsync()

6.6.1. Pede ao usuário para conceder permissões para acessar a câmera. No iOS, isso exigirá que os aplicativos especifiquem as entradas NSCameraUsageDescription e NSMicrophoneUsageDescription no Info.plist.

6.6.1.1. devoluções Promessa<PermissãoResposta> Uma promessa que resolve para um objeto do tipo PermissionResponse.

7. Types

7.1. BarCodePoint

7.1.1. Point

7.2. BarCodeScanningResult

7.2.1. Name

7.2.1.1. Type

7.2.1.1.1. Description

7.2.1.1.2. Pontos de canto do caixa delimitadora.

7.2.1.1.3. As informações codificadas no código de barras.

7.2.1.1.4. O tipo de código de barras.

7.2.1.2. BarCodePoint[]

7.2.1.3. string

7.2.1.4. string

7.2.2. cornerPoints

7.2.3. data

7.2.4. type

7.3. CameraCapturedPicture

7.3.1. Name

7.3.1.1. Type

7.3.1.2. string

7.3.1.3. Partial<MediaTrackSettings> | any

7.3.1.4. number

7.3.1.5. string

7.3.1.6. number

7.3.2. base64

7.3.3. exif

7.3.4. height

7.3.5. uri

7.3.6. width

7.4. CameraMountError

7.4.1. Name

7.4.1.1. Type

7.4.1.2. string

7.4.2. message

7.5. CameraPictureOptions

7.5.1. Name

7.5.1.1. Type

7.5.1.1.1. Description

7.5.1.1.2. Se também deve incluir os dados da imagem no formato Base64.

7.5.1.1.3. Se também deve incluir os dados EXIF ​​para a imagem.

7.5.1.1.4. ----

7.5.1.1.5. ----

7.5.1.1.6. Especifique a qualidade da compactação, de 0 a 1. 0 significa compactar para tamanho pequeno, 1 significa compactar para qualidade máxima.

7.5.1.1.7. ---

7.5.1.1.8. Se definido como verdadeiro, a câmera pula o ajuste de orientação e retorna uma imagem diretamente da câmera do dispositivo. Se habilitada, a opção de qualidade é descartada (o pipeline de processamento é ignorado como um todo). Embora habilitar esta opção reduza significativamente o tempo de entrega da imagem, ela pode fazer com que a imagem apareça em uma orientação errada no componente Imagem (no momento, não respeita a orientação EXIF ​​das imagens).

7.5.1.1.9. Um retorno de chamada invocado quando a imagem é salva. Se definido, a promessa deste método será resolvida imediatamente sem dados após a captura da imagem. Os dados que ele deve conter serão passados ​​para este callback. Se exibir ou processar uma foto capturada logo após tirá-la não for o seu caso, esse retorno de chamada permite que você pule a espera de salvá-la.

7.5.1.2. boolean

7.5.1.3. boolean

7.5.1.4. ImageType

7.5.1.5. boolean

7.5.1.6. number

7.5.1.7. number

7.5.2. base64

7.5.3. exif

7.5.4. imageType

7.5.5. isImageMirror

7.5.6. quality

7.5.7. scale

7.6. CameraRecordingOptions

7.6.1. Name

7.6.1.1. Type

7.6.1.1.1. Description

7.6.1.1.2. Apenas para: iOS Esta opção especifica qual codec usar ao gravar o vídeo. Veja VideoCodec para os valores possíveis.

7.6.1.1.3. Duração máxima do vídeo em segundos.

7.6.1.1.4. Tamanho máximo do arquivo de vídeo em bytes.

7.6.1.1.5. Apenas para: iOS Se verdadeiro, o vídeo gravado será invertido ao longo do eixo vertical. O iOS inverte os vídeos gravados com a câmera frontal por padrão, mas você pode reverter isso definindo isso como verdadeiro. No Android, isso é feito nas configurações do dispositivo do usuário.

7.6.1.1.6. Se presente, o vídeo será gravado sem som.

7.6.1.1.7. Especifique a qualidade do vídeo gravado. Use um de VideoQuality.<value>. Valores possíveis: para resolução 16:9 2160p, 1080p, 720p, 480p: apenas Android e para 4:3 4:3 (o tamanho é 640x480). Se a qualidade escolhida não estiver disponível para um dispositivo, a mais alta disponível será escolhida.

7.6.1.1.8. Apenas para: Android Só funciona se useCamera2Api estiver definido como verdadeiro. Esta opção especifica uma taxa de bits de vídeo desejada. Por exemplo, 5*1000*1000 seria 5 Mbps.

7.6.1.2. VideoCodec

7.6.1.3. number

7.6.1.4. number

7.6.1.5. boolean

7.6.1.6. boolean

7.6.1.7. number | string

7.6.1.8. number

7.6.2. codec

7.6.3. maxDuration

7.6.4. maxFileSize

7.6.5. mirror

7.6.6. mute

7.6.7. quality

7.6.8. videoBitrate

7.7. ConstantsType

7.7.1. Name

7.7.1.1. Type

7.7.1.2. AutoFocus

7.7.1.3. FlashMode

7.7.1.4. Type

7.7.1.5. VideoCodec

7.7.1.6. VideoQuality

7.7.1.7. VideoStabilization

7.7.1.8. WhiteBalance

7.7.2. Type

7.7.2.1. Type

7.7.2.2. AutoFocus

7.7.2.3. FlashMode

7.7.2.4. Type

7.7.2.5. VideoCodec

7.7.2.6. VideoQuality

7.7.2.7. VideoStabilization

7.7.2.8. WhiteBalance

7.8. FaceDetectionResult

7.8.1. Name

7.8.1.1. faces

7.8.2. Type

7.8.2.1. Face[].

7.9. PermissionExperation

7.9.1. Tempo de expiração da permissão. Atualmente, todas as permissões são concedidas permanentemente. Os valores aceitáveis ​​são: 'nunca', número.

7.10. Point

7.10.1. Name

7.10.1.1. x

7.10.1.2. y

7.10.2. Type

7.10.2.1. number

7.10.2.2. number

8. Enums

8.1. AutoFocus

8.1.1. auto

8.1.1.1. AutoFocus.auto = "auto"

8.1.2. off

8.1.2.1. AutoFocus.off = "off"

8.1.3. on

8.1.3.1. AutoFocus.on = "on"

8.1.4. singleShot

8.1.4.1. AutoFocus.singleShot = "singleShot"

8.2. CameraType

8.2.1. back

8.2.1.1. CameraType.back = "back"

8.2.2. front

8.2.2.1. CameraType.front = "front"

8.3. FlashMode

8.3.1. auto

8.3.1.1. FlashMode.auto = "auto"

8.3.2. off

8.3.2.1. FlashMode.off = "off"

8.3.3. on

8.3.3.1. FlashMode.on = "on"

8.3.4. torch

8.3.4.1. FlashMode.torch = "torch"

8.4. PermissionStatus

8.4.1. DENIED

8.4.1.1. PermissionStatus.DENIED = "denied"

8.4.1.1.1. O usuário negou a permissão.

8.4.2. GRANTED

8.4.2.1. PermissionStatus.GRANTED = "granted"

8.4.2.1.1. O usuário concedeu a permissão.

8.4.3. UNDETERMINED

8.4.3.1. PermissionStatus.UNDETERMINED = "undetermined"

8.4.3.1.1. O usuário ainda não concedeu ou negou a permissão.

8.5. VideoCodec

8.5.1. Esta opção especifica qual codec usar ao gravar um vídeo.

8.5.2. AppleProRes422

8.5.2.1. VideoCodec.AppleProRes422 = "apcn"

8.5.3. AppleProRes4444

8.5.3.1. VideoCodec.AppleProRes4444 = "ap4h"

8.5.4. H264

8.5.4.1. VideoCodec.H264 = "avc1"

8.5.5. HEVC

8.5.5.1. VideoCodec.HEVC = "hvc1"

8.5.6. JPEG

8.5.6.1. VideoCodec.JPEG = "jpeg"

8.6. VideoQuality

8.6.1. 1080p

8.6.1.1. VideoQuality.1080p = "1080p"

8.6.2. 2160p

8.6.2.1. VideoQuality.2160p = "2160p"

8.6.3. 480p

8.6.3.1. VideoQuality.480p = "480p"

8.6.4. 4:3

8.6.4.1. VideoQuality.4:3 = "4:3"

8.6.5. 720p

8.6.5.1. VideoQuality.720p = "720p"

8.7. VideoStabilization

8.7.1. auto

8.7.1.1. VideoStabilization.auto = "auto"

8.7.2. cinematic

8.7.2.1. VideoStabilization.cinematic = "cinematic"

8.7.3. off

8.7.3.1. VideoStabilization.off = "off"

8.7.4. standard

8.7.4.1. VideoStabilization.standard = "standard"

8.8. WhiteBalance

8.8.1. auto

8.8.1.1. WhiteBalance.auto = "auto"

8.8.2. cloudy

8.8.2.1. WhiteBalance.cloudy = "cloudy"

8.8.3. continuos

8.8.3.1. WhiteBalance.continuous = "continuous"

8.8.4. fluorescent

8.8.4.1. WhiteBalance.fluorescent = "fluorescent"

8.8.5. manual

8.8.5.1. WhiteBalance.manual = "manual"

8.8.6. shadow

8.8.6.1. WhiteBalance.shadow = "shadow"

8.8.7. sunny

8.8.7.1. WhiteBalance.sunny = "sunny"

9. VideoCodec