Android – ¿Es posible 'bloquear' la velocidad de fotogramas de vista previa de una cámara?

Estoy tratando de crear una aplicación de grabación de video que graba videos en 24 FPS. Estoy utilizando el código siguiente en un intento de bloquear el FPS a 24:

Camera.Parameters params = mCamera.getParameters(); params.setPreviewFrameRate(24); params.setPreviewFpsRange(24000, 24000); 

Y también el siguiente CamcorderProfile que se utiliza con MediaRecorder:

 CamcorderProfile ccp = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); ccp.videoFrameRate = 24; 

Por desgracia, sólo funciona cuando el video se toma en condiciones de poca luz, pero una vez que salgo cuando hay luz, el video empieza a grabar en 30 FPS.

¿Es posible bloquear la velocidad de fotogramas a 24fps también en plena luz del día?

¡Gracias por adelantado!

 public List<Integer> getSupportedPreviewFrameRates () 

Revise esta lista. Supongo que simplemente no se puede establecer la velocidad de fotogramas que no aparece en la lista. Puede ser debido a la modificación de códecs que se utilizan en el sistema operativo Android.

Te sugiero que eche un vistazo a MediaRecorder: setCaptureRate (doble fps)

Fps: – Velocidad en la que los fotogramas deben ser capturados en fotogramas por segundo

Para consultas compatibles: – getPreviewFpsRange (int [])

Tenga en cuenta que su cámara no puede garantizar que los fotogramas se capturen a la velocidad dada debido a las limitaciones de la cámara / codificador.

Probablemente no ha bloqueado el balance automático de blancos y la exposición automática. El FPS puede verse afectado por el medio ambiente. Intente setAutoExposureLock(true) y setAutoWhiteBalanceLock(true) .

Por experiencia personal en mi Android, veo que hay una dependencia entre FPS y exposición. No lo he comprobado con WhiteBalance pero es posible también.

Entonces, ¿por qué no establece el fps a 24 o algún otro valor que resulta en 24fps en algún momento. A continuación, comprobar continuamente el fps actual, y cuando es 24fps, entonces setAutoExposureLock (true) (y setAutoWhiteBalanceLock (true) demasiado por si acaso). Los fps no cambiarán más debido a cambios en la exposición automática.

  • Comprimir video como whatsapp
  • Capturar vídeo con datos de superposición (o marca de agua)?
  • Reproductor de vídeo flotante (como el reproductor de youtube) en android
  • Recorte de vídeo antes de la codificación con MediaCodec para Grafika "Captura continua" Actividad
  • Servidor de la cámara fallecido - El error 100 persiste en algunos dispositivos
  • H264 codificador en android?
  • Cómo tomar imágenes de vídeo o imágenes fijas desde el mismo botón utilizando Android Camera Intent
  • Los vídeos que no se reproducen en Android en un estado sin conexión cuando se usa appcache
  • Android, Java - Renderización de un vídeo utilizando marcos de mapa de bits para invertir un vídeo (Xuggler)
  • ¿Cómo grabar vídeo con sonido específico mediante programación en android?
  • VideoView se bloquea después de mucho tiempo jugando
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.