Android Camera2 obtiene información sobre el tamaño y los fps | por Rust Fisher | febrero de 2022
ahora usamos android.hardware.Camera
Obtenga tamaño de vista previa compatible e información de fps.
Camera.open
por camera
instancia, entonces camera.getParameters()
es el parámetro.
android.hardware.Camera
: De ahora en adelante lo llamaremos «cámara» o «cámara1»
El código anterior funciona para algunos teléfonos con cámara frontal elevable (como HONOR X10), Camera.open
La cámara frontal se puede levantar. Los usuarios pueden sorprenderse con esto, la cámara frontal simplemente aparece y regresa.
deberíamos considerar usar cámara 2 Obtener el tamaño de vista previa.no más Camera.open
.
Ve a gradle primero.
Esta demostración es un módulo. Ahora echemos un vistazo al módulo gradle.
Necesitamos el paquete androidx.
- Compilar SDK 31
- androidx.camera:cámara-core:1.1.0-beta01
- androidx.cámara:cámara-cámara2:1.1.0-beta01
Nota: aquí minSdkVersion 19
Así que tenemos que juzgar la versión de Android.
versión beta01 de camera2, creemos que camera2 está en desarrollo…
Primero mire estos paquetes importados, la mayoría de ellos son sobre camera2
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.params.StreamConfigurationMap; import android.os.Build;
Verifique la versión de Android SDK que está ejecutando, se requiere API> = 21 (LOLLIPOP).
Obtener gerente de cámara Ejemplo de uso getSystemService
.
A diferencia de camera1, camera2 puede obtener información de la cámara sin llamar Camera.open
.
tamaño de la cámara existe android.hardware
El paquete está en desuso. Uso de la cámara2 android.util.Size
.
Para el rango de fps, aquí use Alcance clase.
No olvides comprobar la versión de Android.
Tenemos Alcance Almacene el rango de fps en el código anterior.
Alcance necesita expandir T comparable. nosotros usamos Alcance Antes, aquí está entero Información de clase.
Alcance Se proporcionan algunas funciones útiles. Requiere que configure las matemáticas.
algunas funciones:
public boolean contains(T value)
Por ejemplo.Tenemos [1, 100]entrada 99, salida verdadera.
public boolean contains(Range
Por ejemplo.por [1, 300]ingresar [2, 333]la salida es falsa.
public T clamp(T value)
Por ejemplo.por [1, 10], entrada 3, salida 3. Entrada 32, salida 10 (máx.).