Estoy tratando de usar la cámara 'normal' en mi iPhone 11 pro. Yo uso react-native-vision-camera. Cuando ejecuto este código:
const devices = useCameraDevices(); const deviceBack = devices.back; console.log(deviceBack?.devices) Obtengo solo 2 cámaras: ["ultra-wide-angle-camera", "wide-angle-camera"] , no quiero una cámara ancha, quiero acceder a mi cámara normal, ¿cómo hacerlo?
Gracias.
tl; dr : las cámaras de teléfonos inteligentes de lente única suelen tener una lente gran angular de aproximadamente 22 mm y 30 mm equivalente. Básicamente, querrás elegir gran angular, ya que este es el tipo "normal".
según la documentación de react-native, hay tres identificadores para una cámara física (uno que existe en la parte posterior/frontal del dispositivo):
"ultra-wide-angle-camera" | "wide-angle-camera" | "telephoto-camera"
"ultra-wide-angle-camera" : una cámara integrada con una distancia focal más corta que la de una cámara gran angular. (distancia focal entre menos de 24 mm)
"wide-angle-camera" : Una cámara de gran angular integrada. (distancia focal entre 24 mm y 35 mm)
"telephoto-camera" : un dispositivo de cámara incorporado con una distancia focal más larga que una cámara de gran angular. (distancia focal entre más de 85 mm)
Ahora que lo tenemos resuelto, echemos un vistazo a las distancias focales de las cámaras que son equivalentes a las distancias focales de las cámaras de los teléfonos ( recurso )
| Tipo de cámara | Longitud focal | Punto de vista |
|---|---|---|
| Gran angular | 22 mm a 30 mm | ~84° a ~62° |
| Telefotográfico | 50 mm a 80 mm | ~40° a ~25° |
| ultra gran angular | 12 mm a 18 mm | ~112° a ~90° |
| Periscopio | 103 mm a 125 mm | ~20° a ~16° |
lo que se considera una distancia focal "normal" es de 35 mm, por lo que debe elegir el gran angular ya que es el más cercano (y, eventualmente, con el ángulo de visión, el usuario podría estar aún más cerca de los 35 mm), además, el gran angular es el distancia focal más común para la lente de la cámara del teléfono