Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Existe una forma programática de detectar si la cámara tiene un zoom óptico?

Parece que hay algunos dispositivos Android por ahí con zoom óptico, por ejemplo

  • Samsung S4 Zoom (SO 4.2)
  • Altek A14 y A16 (OS 2.3.5)

¿Hay una manera de detectar esto mediante programación?

Dado que la cámara suele tardar unos segundos en inicializarse, en mi aplicación hay algunos flujos en los que se inicia la cámara anticipando que el usuario está a punto de usarla (por lo que la aplicación se siente más rápida cuando presiona el botón de la cámara en la aplicación) . Si la cámara tiene un zoom óptico, entonces no quiero hacerlo, ya que el objetivo se desliza hacia fuera y molesta al usuario.

Si tengo que hacer una lista negra de estos dispositivos, ¿alguien sabe una lista de todos los dispositivos Android que hay con zoom óptico, preferiblemente con sus cadenas Build.MANUFACTURER y Build.PRODUCT ?

En caso de que ayude, aquí están los Camera.Parameters para un S4 Zoom que he comprado recientemente:

{preferred-preview-size-for-video=704x528, factory-af-led-lv-limit=-1,-1, zoom=0, factory-af-scan-limit=-1,-1, max-num-detected-faces-hw=0, continuous-mode=off, zoom-supported=true, metering=center, whitebalance=auto, scene-mode=auto, jpeg-quality=1, factory-testno=0, factory-af-diff-check=-1,-1, preview-format-values=yuv420sp,yuv420p, best-mode=off, red-eye-fix=fail, jpeg-thumbnail-quality=100, preview-format=yuv420sp, low-light-mode=off, zoom-action=zoom-stop, face-detection=off, video-size-values=1920x1080,1280x720,800x450,768x512,640x480,320x240,176x144, factory-zoom-slope-check-data=-1,-1, preview-size=960x540, focal-length=4.300000, flash-charging=0, factory-cap-range=-1,-1, factory-iris-range=-1,-1, flash-mode-values=off,auto,red-eye,on,fillin,slow,red-eye-fix, preview-frame-rate-values=30,15, factory-af-scan-range=-1,-1, max-num-metering-areas=0, preview-frame-rate=30, focus-mode-values=auto,infinity,macro,fixed,face-detection,continuous,continuous-picture,continuous-video,manual,multi,touch,object-tracking, jpeg-thumbnail-width=224, video-size=0x0, scene-mode-values=auto,portrait,landscape,night,beach,snow,sunset,fireworks,sports,party,candlelight,dusk-dawn,fall-color,back-light,text, preview-fps-range-values=(7000,30000), jpeg-thumbnail-size-values=224x126,160x120,192x128,0x0, zoom-ratios=100,120,140,160,180,220,310,420,560,790,1000, preview-size-values=960x540,768x512,704x576,704x528,640x524,640x480,320x240, smart-scene-detection=0, factory-zoom-range-check-data=-1,-1, factory-af-led-range=-1,-1,-1,-1, picture-size-values=4608x2592,3264x2448,4608x3456,4608x3072,4096x2304,3960x2640,3648x2736,2592x1944,2304x1728,1984x1488,1920x1080,1024x768,960x720,640x480, preview-fps-range=7000,30000, auto-whitebalance-lock=false, min-exposure-compensation=-6, antibanding=off, max-num-focus-areas=1, vertical-view-angle=46.3, factory-wb-value=-1,-1,-1,-1, zoom-ring=-1, horizontal-view-angle=67, video-stabilization-supported=false, jpeg-thumbnail-height=126, continuous-fps=, focus-mode=auto, factory-sc-speedtime=-1,-1, factory-gyro-range-data=-1,-1,-1,-1, auto-whitebalance-lock-supported=true, video-frame-format=yuv420sp, max-num-detected-faces-sw=0, picture-format-values=jpeg, wb-k=-1, max-exposure-compensation=6, factory-ois-range-data=-1,-1,-1,-1,-1,-1,-1, focus-areas=(0,0,0,0,0), exposure-compensation=0, exposure-compensation-step=0.33, flash-mode=off, flash-standby=off, auto-exposure-lock=false, wb-custom=-1,-1, effect-values=none,mono,negative,sepia,antique,point-blue,point-red,point-yellow,warm,cold, factory-punt-range-data=-1,-1,-1, factory-vib-range-data=-1,-1,-1,-1,-1,-1, picture-size=4608x2592, max-zoom=10, factory-gain-liveview-range=-1,-1, effect=none, blink=fail, whitebalance-values=auto,fluorescent-h,fluorescent-l,daylight,cloudy-daylight,custom,temperature,incandescent,prohibition,horizon,ledlight, picture-format=jpeg, focus-distances=0.15,1.20,Infinity, factory-flash-range=-1,-1, raw-save=0, auto-exposure-lock-supported=true, curr_zoom_level=0, hdr-mode=0, antibanding-values=60hz,off} 

FYI, informa su Build.PRODUCT como mproject3gub .

  • Fiabilidad de la cámara de retrato de Android
  • ¿Hay una manera simple de dar vuelta a la disposición del byte del onPreviewFrame de la cámara en una imagen en androide?
  • Vista previa de la cámara sin distorsión / estiramiento
  • Acceso nativo a la cámara Android: startPreview () vs startRecording ()
  • Cómo comprobar si el dispositivo tiene luz de flash led android
  • Xamarin.Forms Tome la foto con la cámara muestra la orientación equivocada y se bloquea en el botón Atrás
  • Android: toma fotos sin interfaz de usuario
  • ¿Cómo utilizar la cámara web en el emulador de Android para capturar una imagen en vivo?
  • 2 Solutions collect form web for “¿Existe una forma programática de detectar si la cámara tiene un zoom óptico?”

    ¿Hay una manera de detectar esto mediante programación?

    No a través de APIs públicas, como Camera.Parameters .

    Es teóricamente posible que todos estos fabricantes hayan estandarizado en alguna API indocumentada, tal como algún valor indocumentado en Camera.Parameters . También es teóricamente posible que espontáneamente vuelva a crecer mi cabello perdido. No contaría con ninguna de estas dos cosas.

    ¿Alguien sabe una lista de todos los dispositivos Android por ahí con zoom óptico, preferiblemente con sus cadenas Build.MANUFACTURER y Build.PRODUCT

    Dudo que haya uno, teniendo en cuenta que un dispositivo que conozco con zoom óptico (Samsung Galaxy Camera) tiene su valor de Build.PRODUCT reportado ( gd1wifiue ) aparece en un total de cinco páginas en toda la Internet indexadas por Google, como Del tiempo de este escrito, e incluyendo esta página. Tenga en cuenta que no he conseguido mis manos en una cámara Galaxy aún, y por lo que es posible que el valor que se informó a mí es incorrecta.

    Este método podría ayudar: Camera.Parameters.isZoomSupported () :

    Public boolean isZoomSupported ()

    Devuelve true si se admite el zoom. Las aplicaciones deben llamar antes de usar otros métodos de zoom.

    (Añadido en API nivel 8)

    EDITAR:

    Este método incluye zoom digital y óptico .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.