CameraDevice.CreateCaptureSession Método

Definición

Sobrecargas

Nombre Description
CreateCaptureSession(SessionConfiguration)

Cree un nuevo CameraCaptureSession mediante un SessionConfiguration objeto auxiliar que agregue todos los parámetros admitidos.

CreateCaptureSession(IList<Surface>, CameraCaptureSession+StateCallback, Handler)

CreateCaptureSession(SessionConfiguration)

Cree un nuevo CameraCaptureSession mediante un SessionConfiguration objeto auxiliar que agregue todos los parámetros admitidos.

[Android.Runtime.Register("createCaptureSession", "(Landroid/hardware/camera2/params/SessionConfiguration;)V", "GetCreateCaptureSession_Landroid_hardware_camera2_params_SessionConfiguration_Handler", ApiSince=28)]
public virtual void CreateCaptureSession(Android.Hardware.Camera2.Params.SessionConfiguration? config);
[<Android.Runtime.Register("createCaptureSession", "(Landroid/hardware/camera2/params/SessionConfiguration;)V", "GetCreateCaptureSession_Landroid_hardware_camera2_params_SessionConfiguration_Handler", ApiSince=28)>]
abstract member CreateCaptureSession : Android.Hardware.Camera2.Params.SessionConfiguration -> unit
override this.CreateCaptureSession : Android.Hardware.Camera2.Params.SessionConfiguration -> unit

Parámetros

config
SessionConfiguration

Una configuración de sesión (consulte SessionConfiguration).

Atributos

Comentarios

Cree un nuevo CameraCaptureSession mediante un SessionConfiguration objeto auxiliar que agregue todos los parámetros admitidos.

La sesión de captura activa determina el conjunto de posibles superficies de salida para el dispositivo de cámara para cada solicitud de captura. Una solicitud determinada puede usar todas o solo algunas de las salidas. Una vez creada cameraCaptureSession, las solicitudes se pueden enviar con CameraCaptureSession#capture capture, CameraCaptureSession#captureBurst captureBurst, CameraCaptureSession#setRepeatingRequest setRepeatingRequesto CameraCaptureSession#setRepeatingBurst setRepeatingBurst.

Las superficies adecuadas para su inclusión como salida de cámara se pueden crear para varios casos de uso y destinos:

<ul>

<li>Para dibujar en : android.view.SurfaceView SurfaceViewuna vez que el Surface de SurfaceView es android.view.SurfaceHolder.Callback#surfaceCreated created, establezca el tamaño del Surface con para android.view.SurfaceHolder#setFixedSize que sea uno de los tamaños devueltos por StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceHolder.class) y, a continuación, obtenga el Surface llamando a android.view.SurfaceHolder#getSurface. Si la aplicación no establece el tamaño, se redondeará al tamaño admitido más cercano inferior a 1080p, por el dispositivo de cámara.</li>

<li>Para obtener acceso a través de una textura de OpenGL a través de : android.graphics.SurfaceTexture SurfaceTextureestablezca el tamaño de SurfaceTexture con para android.graphics.SurfaceTexture#setDefaultBufferSize que sea uno de los tamaños devueltos antes StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceTexture.class) de crear un Surface desde SurfaceTexture con Surface#Surface(SurfaceTexture). Si la aplicación no establece el tamaño, se establecerá para que sea el tamaño más pequeño admitido inferior a 1080p, mediante el dispositivo de cámara.</li>

<li>Para la grabación con android.media.MediaCodec: llame android.media.MediaCodec#createInputSurface a después de configurar el códec multimedia para usar uno de los tamaños devueltos por StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaCodec.class)</li.>

<li>Para la grabación con android.media.MediaRecorder: llame android.media.MediaRecorder#getSurface a después de configurar la grabadora multimedia para usar uno de los tamaños devueltos por StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaRecorder.class), o configurándolo para usar uno de los admitidos android.media.CamcorderProfile CamcorderProfiles.</li>

<li>Para obtener acceso a datos JPEG sin comprimir, YUV sin comprimir en la aplicación: cree un android.media.ImageReader objeto con uno de los formatos de salida admitidos proporcionados por StreamConfigurationMap#getOutputFormats(), estableciendo su tamaño en uno de los tamaños admitidos correspondientes pasando el formato de salida elegido a StreamConfigurationMap#getOutputSizes(int). A continuación, obtenga un elemento android.view.Surface de él con android.media.ImageReader#getSurface(). Si el tamaño imageReader no está establecido en un tamaño compatible, el dispositivo de cámara se redondeará a un tamaño admitido inferior a 1080p. </li>

</ul>

El dispositivo de cámara consultará el tamaño y los formatos de cada Surface en esta llamada, por lo que deben establecerse en una configuración válida en este momento.

La configuración de la sesión puede tardar varios cientos de milisegundos en completarse, ya que es posible que sea necesario encender o volver a configurar el hardware de la cámara. Una vez completada la configuración y la sesión está lista para capturar datos, se llamará a la CameraCaptureSession.StateCallbackdevolución de llamada proporcionada CameraCaptureSession.StateCallback#onConfigured .

Si ya existe una cameraCaptureSession anterior cuando se llama a este método, la sesión anterior ya no podrá aceptar nuevas solicitudes de captura y se cerrará. Las solicitudes de captura en curso realizadas en la sesión anterior se completarán antes de que se cierre. CameraCaptureSession.StateCallback#onConfigured para la nueva sesión se puede invocar antes de CameraCaptureSession.StateCallback#onClosed que se invoque para la sesión anterior. Una vez que la nueva sesión es CameraCaptureSession.StateCallback#onConfigured configured, puede empezar a capturar sus propias solicitudes. Para minimizar el tiempo de transición, la CameraCaptureSession#abortCaptures llamada se puede usar para descartar las solicitudes restantes de la sesión de captura anterior antes de crear una nueva. Tenga en cuenta que una vez creada la nueva sesión, la antigua ya no puede tener anuladas sus capturas.

El uso de salidas de resolución más grandes, o más salidas, puede dar lugar a una velocidad de salida más lenta desde el dispositivo.

La configuración de una sesión con una lista vacía o nula cerrará la sesión actual, si existe. Esto se puede usar para liberar las superficies de destino de la sesión actual para otro uso.

Esta función produce una IllegalArgumentException excepción si se llama con una sessionConfiguration que carece de devoluciones de llamada de estado o superficies de salida válidas. Las únicas excepciones son salidas de SurfaceView o SurfaceTexture diferidas. Consulte OutputConfiguration#OutputConfiguration(Size, Class) para obtener más información.

<h3>Captura< regular/h3>

Aunque cualquiera de los tamaños de StreamConfigurationMap#getOutputSizes se puede usar cuando se configura una única secuencia de salida, es posible que un dispositivo de cámara determinado no pueda admitir todas las combinaciones de tamaños, formatos y destinos cuando se configuran varias salidas a la vez. En las tablas siguientes se enumeran las resoluciones máximas garantizadas para combinaciones de secuencias y destinos, dadas las funcionalidades del dispositivo de cámara. Son válidos para cuando android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration no se establece y, por tanto, no hay ningún reprocesamiento activo.

Si una aplicación intenta crear una sesión mediante un conjunto de destinos que superen los límites descritos en las tablas siguientes, puede producirse una de estas tres posibilidades. En primer lugar, la sesión puede crearse correctamente y funcionar con normalidad. En segundo lugar, la sesión se puede crear correctamente, pero el dispositivo de cámara no cumplirá las garantías de velocidad de fotogramas, como se describe en StreamConfigurationMap#getOutputMinFrameDuration. O en tercer lugar, si el conjunto de resultados no se puede usar en absoluto, se producirá un error en la creación de la sesión por completo, con CameraCaptureSession.StateCallback#onConfigureFailed la invocación.

Para la columna de tipo, PRIV hace referencia a cualquier destino cuyos tamaños disponibles se encuentren utilizando StreamConfigurationMap#getOutputSizes(Class) sin ningún formato directo visible para la aplicación, YUV hace referencia a un destino Surface con el android.graphics.ImageFormat#JPEGandroid.graphics.ImageFormat#YUV_420_888 formato , JPEG hace referencia al formato y RAW hace referencia al android.graphics.ImageFormat#RAW_SENSOR formato.

Para la columna de tamaño máximo, PREVIEW hace referencia a la mejor coincidencia de tamaño con la resolución de pantalla del dispositivo o a 1080p (1920x1080), lo que sea menor. RECORD hace referencia a la resolución de grabación máxima admitida del dispositivo de cámara, según lo determinado por android.media.CamcorderProfile. Y MAXIMUM hace referencia a la resolución de salida máxima del dispositivo de cámara para ese formato o destino desde StreamConfigurationMap#getOutputSizes.

Para usar estas tablas, determine el número y los formatos y destinos de las salidas necesarias y busque las filas de la tabla con esos destinos. Los tamaños indican el conjunto máximo de tamaños que se pueden usar; se garantiza que para esos destinos, los tamaños enumerados y cualquier elemento más pequeño de la lista proporcionado por StreamConfigurationMap#getOutputSizes se pueden usar correctamente para crear una sesión. Por ejemplo, si una fila indica que se puede usar una salida de 8 megapíxeles (MP YUV_420_888) junto con una salida de 2 MP PRIV , se puede crear una sesión con destinos [8 MP YUV, 2 MP PRIV] o destinos [2 MP YUV, 2 MP PRIV]; pero no se garantiza que funcione una sesión con destinos [8 MP YUV, 4 MP PRIV], destinos [4 MP YUV, 4 MP PRIV]o destinos [8 MP PRIV, 2 MP YUV] , a menos que alguna otra fila de la tabla muestre dicha combinación.

<style scoped> #rb { border-right-width: thick; }</style>

<h5>Configuraciones garantizadas< de nivel HEREDADO/h5>

Los dispositivos heredados (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY) admiten al menos las siguientes combinaciones de secuencias:

<table><tr><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th th<>rowspan="2">Casos de uso de ejemplo(s)</th<>/tr tr<>><th>Type</th><id="rb">Max size</th th><>Type</th><id="rb">Max size</th<>>type</th id="th><id="rb" >Tamaño< máximo/th></tr tr><><td><PRIV/td td><id="rb">MAXIMUM</td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>Simple preview, procesamiento de vídeo de GPU o grabación de vídeo sin vista previa.</td></tr tr><<>td><JPEG/td td><id="rb"MAXIMUM<>/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>no-viewfinder captura de imágenes.</td></tr tr><<>td><YUV/td td><id="rb"MAXIMUM<>/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td td<>>In-application video/image processing.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><JPEG td td><id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td td<>>Standard still imaging.</td></tr tr><><td><YUV/td td><id="rb">PREVIEW</td><tdJPEG></td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>>in-app processing plus still capture.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><PRIV td td><id="rb"><PREVIEW/td td td><colspan="2" id="rb"></td td<>>Standard recording.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><YUV td td><id="rb"><PREVIEW/td td><colspan="2" id="rb"></td td<>>Preview plus in-app processing.</td></tr tr>><<td>PRIV</td><td id="rb"PREVIEW></td<>td<>YUV/td td><id="rb"PREVIEW></td><td<JPEG> td td><id="rb"<MAXIMUM>/td td td><>Still capture plus in-app processing.</td></tr></table><br>

<h5>Configuraciones garantizadas< adicionales de nivel LIMITADO/h5>

Los dispositivos de nivel limitado (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED) admiten al menos las siguientes combinaciones de secuencias además de las CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY de los dispositivos:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th rowspan="th><rowspan="2">Casos de uso de ejemplo)</th></tr tr>><<th>Type</th><id="rb">Max size</th>><type</th><id="rb">Max size</th><th>type</th><id="th id="rb">Max size</th></tr>><<<tr><td><PRIV/td><td id="rb"<PREVIEW>/td td><tdPRIV<> td><id="rb"><RECORD/td td><colspan="2" id="rb"></td td<>>grabación de vídeo de alta resolución con vista previa.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><YUV td td><id="rb"><RECORD/td td><colspan="2" id="rb"></td td<>td>High-resolution in-app video processing with preview.</td></tr tr><><td><YUV/td td><id="rb"PREVIEW<>/td><td tdYUV<> td><id="rb"><RECORD/td td><colspan="2" id="rb"></td td td<>>procesamiento de vídeo en aplicación de dos entradas.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td td>PRIV< td><id="rb"RECORD></td><tdJPEG<> td td><id="rb"><RECORD/td td td<>>grabación de alta resolución con instantánea de vídeo.</td></tr tr>><<td>PRIV</td><td id="rb"PREVIEW></td<>td<>YUV/td td><id="rb"RECORD></td><tdJPEG<> td td><id="rb"RECORD<>/td td td td>><high-resolution in-app processing with video snapshot.</td></tr tr>><<td>YUV</td><td id="rb"PREVIEW></td<>td<>YUV/td td><id="rb"PREVIEW></td><tdJPEG<> td td><id="rb"MAXIMUM<>/td td td td>><two-input in-app processing with still capture.</td></tr></table><br>

<h5>Configuraciones garantizadas< adicionales de nivel COMPLETO/h5>

Los dispositivos de nivel COMPLETO (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL) admiten al menos las siguientes combinaciones de secuencias además de las CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED de los dispositivos:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th rowspan="th<>rowspan="2">Casos de uso de ejemplo)</th></tr tr><><th>Type</th><id="rb">Max size</th>><type</th><id="rb">Max size</th><th>type</th><id="th id="rb">Max size</th></tr><<><tr><td>PRIV</td td><id="rb"PREVIEW<>/td td><>PRIV< td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td td<>>Procesamiento de GPU de resolución máxima con versión preliminar.</td></tr tr><><td><PRIV/td td><id="rb"PREVIEW<>/td><td tdYUV<> td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>>maximum-resolution in-app processing with preview.</td></tr tr><><td><YUV/td td><id="rb"PREVIEW<>/td><td td><YUV td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>>Maximum-resolution two-input in-app processing.</td></tr tr><><td>PRIV</td><td id="rb">PREVIEW</td><td<>PRIV td td><id="rb"<PREVIEW>/td><td>JPEG< td td><id="rb"MAXIMUM></td<>td>video recording with maximum-size video snapshot</td/td<>/tr td>><<tdYUV<> td td><id="rb">640x480</td td>PRIV><</td><td id="rb"PREVIEW></td><td td><YUV td><id="rb"><MAXIMUM/td<>td>Standard video recording plus maximum-resolution in-app processing.</td></tr tr>><<td>YUV</td><td id="rb"640x480></td<>td<>YUV/td td><id="rb"PREVIEW></td><tdYUV<> td td><id="rb"><MAXIMUM/td td<>>Preview más el procesamiento de resolución máxima de dos entradas en la aplicación.</td></tr></table><br>

<h5>RAW-capability configuraciones garantizadas< adicionales/h5>

La funcionalidad RAW (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW) los dispositivos también admiten al menos las siguientes combinaciones de secuencias en los CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL dispositivos y CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED :

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th rowspan="th<>rowspan="2">Casos de uso de ejemplo)</th></tr tr><><th>Type</th><id="rb">Max size</th>><type</th><id="rb">Max size</th><th>type</th><id="th id="rb">Max size</th></tr><<><tr><td>RAW</td><td id="rb"<MAXIMUM>/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td<>td>no-preview DNG capture.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><RAW td td><id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td<>td>Standard DNG capture.</td></tr tr><><td><YUV/td td><id="rb">PREVIEW</td><td><RAW td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td<>td>in-app processing plus DNG capture.</td></tr tr>><<td>PRIV</td><td id="rb">PREVIEW</td<>tdPRIV<>/td td><id="rb">PREVIEW</td<>td><RAW td><id="rb"><MAXIMUM/td td<>td>Video recording with DNG capture.</td></tr tr>><<td>PRIV</td><td id="rb">PREVIEW</td<>tdYUV<> td td><id="rb"PREVIEW></td><tdRAW<> td td><id="rb"><MAXIMUM/td td<>td>Preview con procesamiento en la aplicación y captura DNG.</td></tr><tr><td>YUV</td><td id="rb">PREVIEW</td<>td<>YUV/td td><id="rb"PREVIEW></td><tdRAW<> td td><id="rb"><MAXIMUM/td td<>>procesamiento en la aplicación más captura DNG.</td></tr tr>><<td>PRIV</td><td id="rb"PREVIEW></td<>td<>JPEG/td td><id="rb"MAXIMUM></td><td<RAW> td td><id="rb"<MAXIMUM>/td td td><>Todavía captura con JPEG y DNG simultáneos.</td></tr tr>><<td>YUV</td><td id="rb"PREVIEW></td<>td<>JPEG/td td><id="rb"MAXIMUM></td><tdRAW<> td td><id="rb"><MAXIMUM/td td<>td>in-app processing with simultaneous JPEG y DNG.</td></tr></table><br>

<h5>BURST-capability configuraciones garantizadas< adicionales/h5>

La funcionalidad BURST (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE BURST_CAPTURE) los dispositivos admiten al menos las combinaciones de secuencias siguientes además de las CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED de los dispositivos. Tenga en cuenta que todos los dispositivos de nivel COMPLETO admiten la funcionalidad BURST y la lista siguiente es un subconjunto estricto de la lista para dispositivos de nivel COMPLETO, por lo que esta tabla solo es relevante para los dispositivos de nivel LIMITADO que admiten la funcionalidad de BURST_CAPTURE.

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><rowspan="2">Sample use case(s)</th/th></tr tr<>tr><th>Type</th><id="rb">Max size</th><>Type</th th><id="rb">Max size</th<>/tr tr<<>>td<>PRIV/td td><id="rb"><PREVIEW/td td><td/td><PRIV><<><td id="rb">MAXIMUM</td td><>Procesamiento de GPU de resolución máxima con versión preliminar.</td></tr tr><><td>PRIV</td td><id="rb"PREVIEW></td><td<YUV>/td td><id="rb"MAXIMUM<>/td td><>Maximum-resolution in-app processing with preview.</td></tr tr><><td>YUV</td td><id="rb"PREVIEW></td><td<YUV> td td td><id="rb"><MAXIMUM/td td<>>Maximum-resolution two-input in-app processing.</td></tr></table><br>

<h5>LEVEL-3 configuraciones garantizadas< adicionales/h5>

LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3) admite al menos las siguientes combinaciones de secuencias además de las combinaciones para CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL y para la funcionalidad RAW (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye ):CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th><colspan="2" id="2rb">Target 4</th><rowspan="2">Sample use case(s)</th<>/tr tr<>><th>Type</th><id="rb">Max size</th th><>Type</th id="th><id="rb">Max size</th>><Type</th><id="rb><<">Max size/th>><type</th><id="rb">Max size<</th<>/tr tr<><>td<PRIV>/td><id="rb"<>PREVIEW/td><td tdPRIV<> td td><id="rb"><640x480/td<>td><YUV td td><id="rb"<MAXIMUM>/td<>td td><RAW>< id="rb"<MAXIMUM>/td><>in-app viewfinder analysis with selección dinámica del formato de salida.</td></tr tr><><td><PRIV/td><td id="rb"PREVIEW></td>>PRIV<<>< td id="rb">640x480</td td<<>>JPEG td td><id="rb"MAXIMUM<>/td td<>>RAW< td td><id="rb"><MAXIMUM/td td td<>>in-app viewfinder analysis with dynamic selection of output format.</td></tr></table><br>

<h5>Configuraciones garantizadas por secuencias simultáneas</h5>

BACKWARD_COMPATIBLE dispositivos capaces de transmitir simultáneamente con otros dispositivos, tal y como se describe, android.hardware.camera2.CameraManager#getConcurrentCameraIds tienen las siguientes secuencias garantizadas (cuando se transmiten simultáneamente con otros dispositivos).

Nota: Los tamaños mencionados para estas secuencias simultáneas son los tamaños máximos garantizados que se admiten. También se admiten tamaños más pequeños que estos, obtenidos por StreamConfigurationMap#getOutputSizes para un formato determinado.

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><rowspan="2">Sample use case(s)</th></tr tr><><th>tipo< /th><id="rb">Max size</th>><Type</th th><id="rb">Max size</th<>/tr tr<>td><<>YUV td><td id="rb">s1440p</td><td td colspan="2" id="rb"><<></td><td>In-app video/image processing.</td></tr tr><><td>PRIV</td><td id="rb"><s1440p/td td><colspan="2" id="rb"></td td<>>in-app viewfinder analysis.</td></tr tr><td>><<JPEG/td td><id="rb"><s1440p/td td><colspan="2" id="rb"></td td<>>No viewfinder still image capture.</td></tr tr><td><YUV / PRIV></td td><id="rb"s720p></td><td<JPEG>/td td><id="rb"s1440p<>/td td><> Standard still imaging.</td></tr tr><><td>YUV / PRIV</td td><id="rb"s720p></td><td<YUV / PRIV>/td td><id="rb"s1440p<>/td td><>in-app video/processing with preview.</td></tr></table><br>

Los dispositivos que no son compatibles con versiones anteriores, admiten una única secuencia obligatoria de tamaño sVGA con formato DEPTH16 de imagen durante la operación simultánea.

Para configuraciones de flujos simultáneas garantizadas:

sVGA hace referencia a la resolución máxima del dispositivo de cámara para ese formato desde StreamConfigurationMap#getOutputSizes o resolución VGA (640X480), lo que sea menor.

s720p hace referencia a la resolución máxima del dispositivo de cámara para ese formato desde StreamConfigurationMap#getOutputSizes o 720p(1280X720), lo que sea menor.

s1440p hace referencia a la resolución máxima del dispositivo de cámara para ese formato desde StreamConfigurationMap#getOutputSizes o 1440p(1920X1440), lo que sea menor.

MONOCHROME-capability (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME MONOCHROME) dispositivos que admiten android.graphics.ImageFormat#Y8 Y8 la sustitución de YUV flujos con Y8 en todas las combinaciones de secuencias garantizadas para el nivel de hardware y las funcionalidades del dispositivo.

Los clientes pueden acceder a las tablas de combinación de secuencias obligatorias anteriores a través de android.hardware.camera2.params.MandatoryStreamCombination.

Los dispositivos capaces de generar formatos HEIC (StreamConfigurationMap#getOutputFormats contiene android.graphics.ImageFormat#HEIC) admitirán la sustitución de JPEG secuencias con HEIC en todas las combinaciones de secuencias garantizadas para el nivel de hardware y las funcionalidades del dispositivo. No se admite la llamada a createCaptureSession con salidas JPEG y HEIC.

<h5>Combinaciones garantizadas adicionales de nivel HEREDADO con salidas< de resolución múltiple/h5>

Los dispositivos capaces de generar una salida de resolución múltiple para un formato determinado ( android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputInfo devuelven una lista no vacía) admiten el uso MultiResolutionImageReader de secuencias de resolución MAXIMUM de ese formato para todas las combinaciones de secuencias obligatorias. Por ejemplo, si un dispositivo de cámara LIMITADA admite flujos de salida de resolución múltiple para JPEG y PRIVATE, además de las configuraciones de flujo en la tabla LIMITED y Heredada anterior, el dispositivo de cámara admite las siguientes combinaciones de secuencias garantizadas (MULTI_RES en la columna Tamaño máximo hace referencia a una MultiResolutionImageReader creada en función de las resoluciones máximas de variable admitidas):

<table><tr><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th th<>rowspan="2">Casos de uso de ejemplo(s)</th<>/tr tr<>><th>Type</th><id="rb">Max size</th th><>Type</th><id="rb">Max size</th<>>type</th id="th><id="rb" >Tamaño< máximo/th></tr tr><><td><PRIV/td td><id="rb">MULTI_RES</td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>Simple preview, procesamiento de vídeo de GPU o grabación de vídeo sin vista previa.</td></tr tr><<>td><JPEG/td td><id="rb"MULTI_RES<>/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>no-viewfinder captura de imágenes.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><JPEG td td><id="rb"><MULTI_RES/td td td><colspan="2" id="rb"></td td<>>Standard still imaging.</td></tr tr>><<td>PRIV</td><td id="rb"PREVIEW></td<>td<>YUV/td td><id="rb"PREVIEW></td><td<JPEG> td td><id="rb"<MULTI_RES>/td td td><>Still capture plus in-app processing.</td></tr></table><br>

<h5>Configuraciones garantizadas adicionales de nivel LIMITADO con salidas< de resolución múltiple/h5>

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th rowspan="th><rowspan="2">Casos de uso de ejemplo)</th></tr tr>><<th>Type</th><id="rb">Max size</th>><type</th><id="rb">Max size</th><th>type</th><id="th id="rb">Max size</th></tr>><<<tr><td><YUV/td><td id="rb"PREVIEW<>/td td<>tdYUV<> td td><id="rb"PREVIEW></td><tdJPEG<> td td><id="rb"><MULTI_RES/td td td<>>procesamiento de entrada en la aplicación con captura todavía.</td></tr></table><br> La misma lógica se aplica a otros niveles y funcionalidades de hardware.

<h5>Combinaciones garantizadas adicionales para sensores< de ULTRA_HIGH_RESOLUTION/h5>

Los dispositivos con la funcionalidad ULTRA_HIGH_RESOLUTION_SENSOR tienen algunas garantías adicionales de las que los clientes pueden aprovechar:

<table><tr><th colspan="3" id="rb">Target 1</th<>colspan="3" id="rb">Target 2</th<>colspan="3" id="rb">Target 3</th rowspan="th><rowspan="2">Casos de uso de ejemplo(s)</th></tr tr<<>>th>Type</th><id="rb"> SC Map</th><id="rb">Max size</th><>Type</th><id="rb"> SC Map</th th id="rb" th><id="rb" >Tamaño< máximo/th>><Type</th th><id="rb"> SC Map</th><id="rb">Max size</th></tr tr td>>><<YUV / JPEG / RAW< td td><id="rb"MAX_RES<>/td td id="rb"/td><td id="rb">MAX<//td><td id="rb"<PRIV / YUV>/td td><id="rb"DEFAULT></td><td id="rb"<>PREVIEW/td td><colspan="3" id="rb"></td td><>Ultra high res still image capture with preview</td></tr tr><><td>YUV / JPEG / RAW</td td><id="rb"<MAX_RES>/td><td id="rb">MAX</td><td id="rb"PRIV<>/td><td id="rb"<DEFAULT>/td td><id="rb"PREVIEW<>/td><td id="rb"<PRIV / YUV>/td td><id="rb<<<DEFAULT>>>>RECORD"/td td><Las res ultra altas siguen capturando con la vista previa + análisis de tamaño< RECORD basado en la aplicación/td<>/tr tr><<>td td<YUV / JPEG / RAW><> id="rb"<>MAX_RES/td td><id="rb">MAX</td td><id="rb">PRIV</td><td id="rb"><DEFAULT/td><td id="rb"<>PREVIEW/td td><id="rb"JPEG / YUV / RAW<>/td td><id="rb"DEFAULT<>/td><td id="rb">MAX</td td>><Ultra high res still image capture with preview + default sensor pixel mode analysis stream</td></tr></table><br>

Aquí, SC Map, hace referencia a , StreamConfigurationMaplos tamaños de la secuencia de destino deben elegirse. DEFAULT hace referencia al modo StreamConfigurationMap de píxeles del sensor predeterminado y MAX_RES hace referencia a la resolución StreamConfigurationMapmáxima. En el caso MAX_RES de las secuencias, MAX en la Max size columna hace referencia al tamaño máximo de StreamConfigurationMap#getOutputSizes y StreamConfigurationMap#getHighResolutionOutputSizes. Nota: La misma solicitud de captura no debe mezclar destinos de StreamConfigurationMaps correspondientes a diferentes modos de píxeles del sensor.

<Salida de h5>de 10 bits configuraciones garantizadas< adicionales/h5>

Los dispositivos compatibles CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT con salida de 10 bits admiten al menos las siguientes combinaciones de secuencias:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th rowspan="th><rowspan="2">Casos de uso de ejemplo)</th></tr tr>><<th>Type</th><id="rb">Max size</th>><type</th><id="rb">Max size</th><th>type</th><id="th id="rb">Max size</th></tr>><<<tr><td><PRIV/td><td id="rb"<>MAXIMUM/td<>/td td><colspan="4" id="rb"></td td<>>Simple preview, procesamiento de vídeo de GPU o grabación de vídeo sin vista previa.</td></tr tr><<>td>YUV</td td><id="rb"<>MAXIMUM/td<>/td td><colspan="4" id="rb"></td td<>>in-application video/image processing.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><JPEG td td><id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td td<>>Standard still imaging.</td></tr tr><><td><PRIV/td td><id="rb"PREVIEW<>/td><td tdYUV<> td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>>maximum-resolution in-app processing with preview.</td></tr tr><><td><YUV/td td><id="rb"PREVIEW<>/td><td td><YUV td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>>Maximum-resolution two-input in-app processing.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td><PRIV td td><id="rb"><RECORD/td td td><colspan="2" id="rb"></td td<>>grabación de vídeo de alta resolución con versión preliminar.</td></tr tr>><<td>PRIV</td><td id="rb"PREVIEW></td<>td<>PRIV/td td><id="rb"RECORD></td><td<YUV> td td><id="rb"<RECORD>/td td td><>grabación de alta resolución con instantánea en la aplicación.</td></tr tr><><td><PRIV/td td><id="rb">PREVIEW</td><td td>PRIV< td><id="rb"RECORD></td><tdJPEG<> td td><id="rb"><RECORD/td td td<>>grabación de alta resolución con instantánea de vídeo.</td></tr></table><br>

Aquí PRIV puede ser formato de píxeles de 8 o 10 bits android.graphics.ImageFormat#PRIVATE . YUV puede ser android.graphics.ImageFormat#YUV_420_888 o android.graphics.ImageFormat#YCBCR_P010. Para la columna de tamaño máximo, PREVIEW hace referencia a la mejor coincidencia de tamaño con la resolución de pantalla del dispositivo o a 1080p (1920x1080), lo que sea menor. RECORD hace referencia a la resolución de grabación máxima admitida del dispositivo de cámara, según lo determinado por android.media.CamcorderProfile. MAXIMUM hace referencia a la resolución de salida máxima del dispositivo de cámara para ese formato o destino desde StreamConfigurationMap#getOutputSizes(int). Tenga en cuenta que las combinaciones no válidas, como tener una superficie de cámara configurada para usar el formato android.graphics.ImageFormat#YUV_420_888 de píxel con un perfil de 10 bits, provocarán un error de inicialización de sesión de captura.

android.graphics.ImageFormat#JPEG_R también se puede admitir si se anuncia mediante android.hardware.camera2.params.StreamConfigurationMap. Al inicializar una sesión de captura que incluya un cliente de salida de cámara Jpeg/R, debe tener en cuenta los siguientes elementos w.r.t. la tabla de combinación de secuencias obligatoria de 10 bits:

<ul><li>Para generar la imagen jpeg/R comprimida, el dispositivo de cámara usará internamente una única android.graphics.ImageFormat#YCBCR_P010 salida.</li li><>En los dispositivos de cámara que son capaces de admitir solicitudes simultáneas de captura de 10 y 8 bits, también android.hardware.camera2.params.DynamicRangeProfiles#getProfileCaptureRequestConstraints se configurará un adicional android.graphics.ImageFormat#JPEG internamente para ayudar a acelerar el proceso de codificación.</li></ul>

Las salidas de cámara Jpeg/R normalmente podrán admitir la resolución máxima del dispositivo. Los clientes también pueden llamar StreamConfigurationMap#getOutputSizes(int) a para obtener una lista completa de tamaños admitidos. Los clientes de cámara que registran una salida Jpeg/R dentro de una combinación de secuencias que no cabe en la tabla de secuencias obligatoria anterior pueden llamar #isSessionConfigurationSupported para asegurarse de que se admite esta configuración concreta.

<h5>STREAM_USE_CASE funcionalidad configuraciones garantizadas< adicionales/h5>

Los dispositivos con la funcionalidad STREAM_USE_CASE (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye ) admiten CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASElas combinaciones de secuencias adicionales siguientes:

<table>tr th colspan="3" id="rb">Target 1</th><colspan="3" id="rb">Target 2</th><colspan="3" id="rb">Target 3</th><rowspan="2">Casos de uso de ejemplo/th/<th<>/tr tr<><>th>Type</th><id="rb">Max size/th>><Usecase</th th><>Type</th><id="rb">Max size<</th><th>Usecase</th Type>><><<</th><id="rb">Max size</th><>Usecase</th<>/tr tr<<>>td>YUV / PRIV</td td td><id="rb"PREVIEW></td td><id="rb"><PREVIEW/td td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td>><Simple preview o in-app image processing</td<>/tr tr<>td<<YUV / PRIV>>/td td td td><id="rb">RECORD</td><td id="rb"<>VIDEO_RECORD/td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td><>Simple video recording or in-app video processing</td<>/tr<>tr><tdYUV / JPEG></td td><id="rb"MAXIMUM></td td><id="rb"><STILL_CAPTURE/td td><colspan="3" id="rb"></td td<>colspan="3" id="rb"></td><td>Imagen jpeg simple o YUV still capture</td></tr tr><><td><YUV / PRIV/td td><id="rb"><s1440p/td td><id="rb"<PREVIEW_VIDEO_STILL>/td td td<>colspan="3" id="rb"></td td td><colspan="3" id="rb"></td td td>><multi-purpose stream for preview, video and still image capture</td></tr>><<<>YUV / PRIV td/td td/td><td id="rb">s1440p</td><td id="rb"<>VIDEO_CALL/td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td>><simple video call</td<>/tr tr<>><td<>PRIV/td><td id="rb"PREVIEW<>/td td><id="rb">PREVIEW</td<>td><YUV / JPEG td><id="rb">MAXIMUM</td td id="rb"/td td><id="rb"/>STILL_CAPTURE< td><td colspan="3" id="rb"></td td>><Preview con JPEG o YUV still image capture</td<>/tr tr<>><tdPRIV<>/td td><id="rb"><PREVIEW/td td><td id ="rb">PREVIEW</td><td td>YUV / PRIV< td td><id="rb"RECORD></td td><id="rb"VIDEO_RECORD<>/td td><colspan="3" id="rb"></td td td><>Vista previa con la grabación de vídeo o el procesamiento< de vídeo en la aplicación/td></tr tr><<>tdPRIV<> td><id="rb"<>PREVIEW/td td><id="rb"><PREVIEW/td>>YUV<< td td><id="rb"PREVIEW></td td><id="rb"><PREVIEW/td td><colspan="3" id="rb"></td td<>td>Preview con procesamiento de imágenes< en la aplicación/td></tr tr><<>td><PRIV/td><td id="rb"<PREVIEW>/td td><id="rb"PREVIEW></td<>td<YUV / PRIV> td><td id="rb"s1440p></td><td id="rb"VIDEO_CALL<>/td<>td colspan="3" id="rb"></td td td<>>Preview with video call</td<>/tr tr<<><>>YUV / PRIV td/td/td><td id="rb"><s1440p/td td><id="rb"PREVIEW_VIDEO_STILL></td<>td><YUV / JPEG td td><id="rb"><MAXIMUM/td td><id="rb"<>STILL_CAPTURE/td td<>colspan="3" id="rb"></td td<>td>MultI-purpose stream with JPEG or YUV still capture</td<>/tr td><>>YUV<</td td><id="rb"PREVIEW<>/td td><id="rb">STILL_CAPTURE</td><td><JPEG/td><td id="rb"MAXIMUM></td td><id="rb"STILL_CAPTURE<>/td td><colspan="3" id="rb"></td td><td>YUV y jpeg captura simultánea de imágenes (para pruebas)</td<>/tr tr<><>td<>PRIV td td><id="rb"<PREVIEW>/td td><id="rb"><PREVIEW/td<>td td>YUV / PRIV</td><td id="rb"RECORD<>/td><td id="rb"><VIDEO_RECORD/td><td<JPEG> td td><td id="rb">RECORD</td td><id="rb<STILL_CAPTURE>"/td td<>>Preview, video record and JPEG video snapshot</td></tr td<><>td<>PRIV td td><id="rb"PREVIEW<>/td><td id="rb"PREVIEW<>/td><td><YUV/><td td id="rb">PREVIEW</td><td id="rb"<PREVIEW>/td><td<>JPEG td td><id="rb"MAXIMUM<>/td td><id="rb"><STILL_CAPTURE/td<>td>preview, procesamiento de imágenes en la aplicación y JPEG still image capture</td<>/tr></table br><>

<h5>STREAM_USE_CASE_CROPPED_RAW funcionalidad configuraciones garantizadas< adicionales/h5>

Los dispositivos que incluyen el caso de uso de la CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW secuencia en CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES, admiten las combinaciones de secuencias adicionales siguientes:

<table>tr th colspan="3" id="rb">Target 1</th><colspan="3" id="rb">Target 2</th><colspan="3" id="rb">Target 3</th><rowspan="2">Casos de uso de ejemplo/th/<th<>/tr tr<><>th>Type</th><id="rb">Max size/th>><Usecase</th th><>Type</th><id="rb">Max size<</th><th>Usecase</th Type>><><<</th><id="rb">Max size</th><>Usecase</th<>/tr tr<><>td<RAW>/td td><id="rb"MAXIMUM></td td><id="rb"><CROPPED_RAW/td td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td>><Cropped RAW still capture without preview</td<>/tr tr<>td<<PRIV / YUV>>/td td td td><id="rb">PREVIEW</td><td id="rb"<>PREVIEW/td td><<RAW> td><td id="rb"><MAXIMUM/td td><id="rb">CROPPED_RAW</td td<>td colspan="3" id="rb"/td td>><preview with cropped RAW still capture</td></tr td><<>td td<>><PRIV / YUV id="rb"><PREVIEW/td><td id="rb<>PREVIEW"></td<>td td>YUV / JPEG</td><td id="rb"<>MAXIMUM/td><td id="rb"<>STILL_CAPTURE/td<>td<RAW> td><td id="rb"><MAXIMUM/td td><id="rb"CROPPED_RAW></td td<>>Preview con YUV /JPEG y RAW recortado todavía capture</td<>/tr td<>><td<>PRIV / YUV td><id="rb>PREVIEW<"/td td><id="rb"/td td id="rb"PREVIEW></td><td>PRIV / YUV</td><td id="rb"PREVIEW<>/td><td id="rb"<VIDEO_RECORD / PREVIEW>/td><td><RAW td td><id="rb"MAXIMUM></td td><id="rb"<>CROPPED_RAW/td td><>Video recording with preview and cropped RAW still capture</td<>/tr></table br><>

<h5>Estabilización de la versión preliminar de configuraciones de flujo garantizadas</h5>

En el caso de los dispositivos en CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES los que se incluye CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION, se garantizan las siguientes combinaciones de secuencias, para CaptureRequests donde CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE se establece en CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION<la tabla<>tr><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><rowspan="2">Casos de uso de ejemplo(s)</th<>/tr tr tr>><<th>Type</th><id="rb">Max size/th th>><Type</th><id="rb">Max size<</th></tr><tr><td><PRIV / YUV/td><td id="rb">s1440p</td td><colspan="2" id="rb"></td td<>>Estabilizado preview, procesamiento de vídeo gpu o grabación de vídeo estabilizada sin vista previa.</td></tr tr><td><<PRIV / YUV>/td td><id="rb"<>s1440p/td><td td><JPEG / YUV td><id="rb"<>MAXIMUM/td td><>Standard still imaging con vista previa estabilizada.</td></tr tr><><td><PRIV / YUV/td td><id="rb"<PREVIEW>/td<>tdPRIV / YUV></td td><id="rb"<>s1440p/td td><>Alta resolución con secuencia de vista previa y grabación estabilizada.</td></tr></table><br>

Para la columna de tamaño máximo, PREVIEW hace referencia a la mejor coincidencia de tamaño con la resolución de pantalla del dispositivo o a 1080p (1920x1080), lo que sea menor. RECORD hace referencia a la resolución de grabación máxima admitida del dispositivo de cámara, según lo determinado por android.media.CamcorderProfile. MAXIMUM hace referencia a la resolución de salida máxima del dispositivo de cámara para ese formato o destino desde StreamConfigurationMap#getOutputSizes(int).

Dado que las funcionalidades de los dispositivos de cámara varían considerablemente, un dispositivo de cámara determinado puede admitir combinaciones de destino con tamaños fuera de estas garantías, pero esto solo se puede probar llamando #isSessionConfigurationSupported a o intentando crear una sesión con estos destinos.

Excepción en resolución 176x144 (QCIF): los dispositivos de cámara suelen tener una capacidad fija para reducir el escalado de una resolución mayor a otra más pequeña, y la resolución QCIF a veces no es totalmente compatible debido a esta limitación en los dispositivos con sensores de imagen de alta resolución. Por lo tanto, es posible que no se admita intentar configurar un flujo de resolución QCIF junto con cualquier otro flujo mayor que la resolución 1920x1080 (ancho o alto) y se producirá un error en la creación de la sesión de captura si no lo es.

<h3>Reprocesamiento</h3>

Si un dispositivo de cámara admite el reprocesamiento de YUV (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING) o el reprocesamiento PRIVADO (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING), la aplicación también puede crear una sesión de captura reprocesable para enviar solicitudes de captura de reprocesamiento además de solicitudes de captura normales, estableciendo una android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration para la sesión. Una solicitud de captura de reprocesamiento toma el siguiente búfer disponible del Surface de entrada de la sesión y lo envía a través de la canalización de procesamiento del dispositivo de cámara de nuevo, para generar búferes para las superficies de salida de destino de la solicitud. No se capturan nuevos datos de imagen para una solicitud de reprocesamiento. Sin embargo, el búfer de entrada proporcionado por la aplicación debe capturarse previamente por el mismo dispositivo de cámara en la misma sesión directamente (por ejemplo, para el caso de uso cero-Shutter-Lag) o indirectamente (por ejemplo, la combinación de varias imágenes de salida).

La sesión de captura activa reprocesable determina una entrada Surface y el conjunto de posibles superficies de salida para los dispositivos de cámara para cada solicitud de captura. La aplicación puede usar #createCaptureRequest createCaptureRequest para crear solicitudes de captura normales para capturar nuevas imágenes desde el dispositivo de cámara y usar #createReprocessCaptureRequest createReprocessCaptureRequest para crear solicitudes de captura de reprocesamiento para procesar búferes de la entrada Surface. Es posible que algunas combinaciones de superficies de salida de una sesión no se usen simultáneamente en una solicitud. Las combinaciones garantizadas de superficies de salida que se pueden usar en una solicitud simultáneamente se muestran en las tablas de debajo #createCaptureSession createCaptureSessionde . Todas las superficies de salida de una solicitud de captura proceden del mismo origen, ya sea de una nueva captura por parte del dispositivo de cámara, o de la entrada Surface dependiendo de si la solicitud es una solicitud de captura de reprocesamiento.

Los formatos y tamaños de entrada admitidos por el dispositivo de cámara se pueden consultar a través StreamConfigurationMap#getInputFormats de y StreamConfigurationMap#getInputSizes. Para cada formato de entrada admitido, el dispositivo de cámara admite un conjunto de formatos y tamaños de salida para el reprocesamiento que se pueden consultar a través StreamConfigurationMap#getValidOutputFormatsForInput de y StreamConfigurationMap#getOutputSizes. Aunque las superficies de salida con formatos que no son destinos de salida de reprocesamiento válidos para la configuración de entrada pueden formar parte de una sesión, no se pueden usar como destinos para una solicitud de reprocesamiento.

Dado que la aplicación no puede tener acceso a android.graphics.ImageFormat#PRIVATE imágenes directamente, una salida Surface creada con android.graphics.ImageFormat#PRIVATEandroid.media.ImageReader#newInstance, ya que el formato se considerará que se usará para volver a procesar la entrada y, por tanto, el android.media.ImageReader tamaño debe coincidir con uno de los tamaños de entrada admitidos para android.graphics.ImageFormat#PRIVATE el formato. De lo contrario, se producirá un error al crear una sesión de captura reprocesable.

A partir del nivel de API 30, volver a crear una sesión de captura reprocesable vaciará todos los búferes en cola pero aún no procesados de la superficie de entrada.

Las configuraciones de las tablas siguientes se garantizan para crear una sesión de captura reprocesable si el dispositivo de cámara admite el reprocesamiento YUV o el reprocesamiento PRIVADO. Sin embargo, no todos los destinos de salida usados para crear una sesión reprocesable se pueden usar simultáneamente CaptureRequest . En el caso de los dispositivos que admiten solo 1 destino de salida en un reprocesamiento CaptureRequest, el envío de un reprocesamiento CaptureRequest con varios destinos de salida dará como resultado un CaptureFailure. En el caso de los dispositivos que admiten varios destinos de salida en un reprocesamiento CaptureRequest, los destinos de salida garantizados que se pueden incluir simultáneamente se muestran en CaptureRequest las tablas #createCaptureSession createCaptureSessionde . Por ejemplo, con un dispositivo de funcionalidad COMPLETA (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL) que admite el reprocesamiento PRIVADO, una aplicación puede crear una sesión de captura reprocesable con 1 entrada, (PRIV, MAXIMUM) y 3 salidas, (PRIV, MAXIMUM), (PRIV, PREVIEW) y (YUV, MAXIMUM). Sin embargo, no se garantiza que una aplicación pueda enviar una captura normal o de reprocesamiento con (PRIV, ) y (YUV, MAXIMUM) salidas basadas en la tabla enumerada en #createCaptureSession createCaptureSessionMAXIMUM. En otras palabras, use las tablas siguientes para determinar las configuraciones de flujo garantizadas para crear una sesión de captura reprocesable y use las tablas en #createCaptureSession createCaptureSession para determinar los destinos de salida garantizados que se pueden enviar simultáneamente en una sesión de captura normal o reprocesada CaptureRequest .

No se admite el reprocesamiento con destinos de salida de 10 bits en dispositivos compatibles CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT con 10 bits. Al intentar inicializar una sesión de captura repetible con una o varias configuraciones de salida establecidas OutputConfiguration#setDynamicRangeProfile para usar un perfil android.hardware.camera2.params.DynamicRangeProfiles de intervalo dinámico de 10 bits, se desencadenará IllegalArgumentException.

<style scoped> #rb { border-right-width: thick; }</style>

Los dispositivos de nivel LIMITADO (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED) admiten al menos las siguientes combinaciones de secuencias para crear una sesión de captura reprocesable, además de las enumeradas anteriormente para las capturas normales de CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED los dispositivos:

<table>tr th colspan="11">LIMITED-level additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV la entrada solo se garantiza si se admite el reprocesamiento de YUV)</th></tr><><th colspan="2" id="rb">Input</th th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><><colspan="2" id="><< rb">Target 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr><><th>Type</th th><id="rb">Max size</th><th>Type</th><id="rb">Max size</th><>Type</th th><id="rb">Max size/th>><th Type</th><id="rb">Max size<</th Type/th th Type</><>th><id="rb" >Tamaño< máximo/th></tr tr><><td/PRIV<>YUV/td><td id="rb"MAXIMUM<>/td td><>Igual que input</td td><id="rb"<>MAXIMUM/td<>td><JPEG td td><id="rb"MAXIMUM<>/td<>td td>< td><id="rb"></td<>td td><>< id="rb><"/td td<>>td no-viewfinder todavía reprocesamiento de imágenes.</td></tr><tr><td><YUV/PRIV/td><td id="rb"><MAXIMUM/td td>><igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW<>/td<>tdJPEG<> td td><id="rb"MAXIMUM></td><>< td td><><><>ZSL(Zero-Shutter-Lag) todavía imágenes.</td></tr><tr><td><YUV/PRIV/td><td id="rb"><MAXIMUM/td td>><igual que input</td td><id="rb"MAXIMUM></td<>td<YUV> td><id="rb"PREVIEW<>/td<>tdJPEG<> td td><id="rb"MAXIMUM></td><>< td td><><><>ZSL sigue procesando imágenes en la aplicación.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<YUV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MAXIMUM<JPEG<>< td td</td><td ZSL in-app processing with still capture( td>ZSL in-app processing with still capture.</td></tr></table><br>

Los dispositivos de nivel COMPLETO (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL) admiten al menos las siguientes combinaciones de secuencias para crear una sesión de captura reprocesable además de las CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED de los dispositivos:

<table>tr th colspan="11">FULL-level additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV la entrada solo se garantiza si se admite el reprocesamiento de YUV)</th></tr><><th colspan="2" id="rb">Input</th th><colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">><<Target 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr>><<th>Type</th><id="rb">Max size</th><>Type</th><id="rb">Max size</th><>Type</th><id="rb">Max size</th><>Type</th id="rb"Max size/th><id="rb">Max size</th><>Type</th th><id="rb"Max> size</th></tr<>tr><tdYUV<>/td><td id="rb"MAXIMUM<>/td<>td<YUV>/td><td id="rb"<MAXIMUM>/td><td><PRIV td td><id="rb"<PREVIEW>/td td<><> td td td><id="rb"></td><td>< td td><id="rb"></td td td<>>Maximum-resolution multi-frame fusion in-app processing with regular preview.</td></tr><tr><td><YUV/td><td id="rb"><MAXIMUM/td>>YUV<<>< td id="rb"MAXIMUM></td<>td>YUV< td td><id="rb"<PREVIEW>/td td><>< td td><id="rb"></td><td>< td td><id="rb"></td><td td>Maximum-resolution multi-frame fusion procesamiento de dos entradas en la aplicación.</td></tr><tr><td><YUV/PRIV/td><td id="rb"><MAXIMUM/td td>><igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW<>/td<>tdYUV<> td td><id="rb"RECORD></td><>< td td><><><>Procesamiento de vídeo ZSL en la aplicación de alta resolución con versión preliminar normal.</td></tr tr>><<td>PRIV</td><td id="rb"MAXIMUM<>/td>PRIV><<>< td id="rb"MAXIMUM<>/td tdPRIV<>>< td td><id="rb"<PREVIEW>/td td<>><YUV td td><id="rb">MAXIMUM</td><td>< td td><id="rb"></td><td>maximum-resolution Procesamiento en la aplicación de ZSL con versión preliminar normal.</td></tr tr>><<td>PRIV</td><td id="rb"MAXIMUM<>/td>PRIV><<>< td id="rb"MAXIMUM<>/td tdYUV<>>< td td><id="rb"<PREVIEW>/td td<>><YUV td td><id="rb">MAXIMUM</td><td>< td td><id="rb"></td><td>maximum-resolution procesamiento de ZSL en aplicación de dos entradas.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MAXIMUM<JPEG<>< td td</td><td>ZSL sigue capturando y procesando en la aplicación.</td></tr></table><br>

La funcionalidad RAW (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES incluye CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW) los dispositivos también admiten al menos las siguientes combinaciones de secuencias para crear una sesión de captura reprocesable en los CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL dispositivos y CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED

<table><tr><th colspan="11">RAW-capability additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV la entrada solo se garantiza si se admite el reprocesamiento de YUV)</th></tr tr><tr><th colspan="2" id="rb">Input</th th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><><colspan="2" id="rb">Target 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr><><th>Type</th th><id="rb">Max size</thth><>Type</th><id="rb">Max size</th><>Type</th><th id="rb">Max size/th><th>Type</th><id="rb"Max size</th rb">Max size</>><th Type</th><id="rb">Max size</th></tr tr>><<tdYUV></PRIV/td><td id="rb">MAXIMUM</td td>><Same as input</td><td id="rb"MAXIMUM></td><td<YUV> td td><id="rb"<>PREVIEW/td><td<RAW> td td><id="rb"><MAXIMUM/td<>td td><>< id="rb"></td><>td mutually exclusive ZSL procesamiento en la aplicación y captura de DNG.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MAXIMUM<RAW<>< td td</td><td Mutually exclusive ZSL in-app processing and preview with DNG capture.td>Mutually exclusive ZSL in-app processing and preview with DNG capture.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<YUV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MAXIMUM<RAW<>< td td</td><td Mutually exclusive ZSL two-input in-app processing and DNG capture.td>Mutually exclusive ZSL two-input in-app processing and DNG capture.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW></td><td td<>JPEG td><id="rb"MAXIMUM></td>>>MAXIMUM<RAW<>< td td</td><td Mutually exclusive ZSL still capture and preview with DNG capture.td>Mutually exclusive ZSL still capture and preview with DNG capture( Captura DNG).</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<YUV> td><id="rb"PREVIEW></td><td td<>JPEG td><id="rb"MAXIMUM></td>>>MAXIMUM<RAW<>< td td</td><td>El procesamiento en aplicación ZSL excluyente mutuamente con capturas y capturas DNG.</td></tr></table><br>

Los dispositivos LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3) admiten al menos las siguientes combinaciones de secuencias para crear una sesión de captura reprocesable además de las CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL de los dispositivos. Tenga en cuenta que, aunque la segunda configuración permite configurar MAXIMUMYUV y JPEG salidas al mismo tiempo, esa configuración no aparece para las sesiones de captura normales y, por tanto, no se permite la salida simultánea a ambos destinos.

<table><tr><th colspan="13">LEVEL-3 additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUVsiempre se garantiza la entrada.</th></tr tr>><<th colspan="2" id="rb">Input</th th><colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3< /th><colspan="2" id="rb">Target 4</th th><colspan="2" id="rb">Target 5</th><rowspan="2">Sample use case(s)</th></tr tr<>tr><th>Type</th><id="rb">Max size</th><ésa>Type/th id="rb">Max size</th>><Type</th><th id="rb">Max size</th><>type</th><id="rb">Max size</th th type/th size/th>><type</th th><id="rb">Max size</th>><Type</th th><id="rb">Max size</th></tr tr<<>>td>YUV</td td><id="rb"><MAXIMUM/td<>td td<YUV> td td><id="rb"><<>MAXIMUM</td><td>PRIV</td><td id="rb"><PREVIEW/td><td tdPRIV>< td><id="rb"640x480></td><td<RAW> td td><id="rb">MAXIMUM</td><td td>< td><id="rb"></td td td td<>>in-app viewfinder analysis with ZSL and RAW.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MAXIMUM/td<>td>igual que input</td td><id="rb"MAXIMUM></td<>td<PRIV> td><id="rb"PREVIEW></td><td td<>PRIV td><id="rb"640x480></td>>>MAXIMUM<RAW<>< td td</td><td><JPEG/td td><id="rb"MAXIMUM></td td td><>In-app viewfinder analysis with ZSL, RAW, and JPEG reprocessing output.</td></tr></table><br>

Si un dispositivo de cámara admite la entrada de resolución múltiple YUV y la salida de resolución múltiple YUV o admite PRIVATE la entrada de resolución múltiple y la salida de PRIVATE resolución múltiple, las combinaciones de secuencias obligatorias adicionales para dispositivos LIMITED y FULL se enumeran a continuación (MULTI_RES en la columna Tamaño máximo hace referencia a para MultiResolutionImageReader la salida y una resolución InputConfiguration múltiple para la entrada): <la tabla><tr><th colspan="11">Configuraciones garantizadas adicionales de nivel LIMITADO para crear una sesión de captura reprocesable con salidas de entrada de resolución múltiple y salidas<de resolución múltiple br>(PRIV input se garantiza solo si se admite el reprocesamiento PRIVADO. YUV la entrada solo se garantiza si se admite el reprocesamiento de YUV)</th></tr<>><th colspan="2" id="rb">Input</th th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th><th colspan="2" id="rb"Target 3/th th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr<>tr><th>Type</th><id="rb">Max size</th><>Type</><th id="rb">Max size</th><>Type</th><id="rb">Max size</th th><>Type/th th Type</th id="rb"Max size/th type/th><id="rb">Max size</th><>type/<<> th><id="rb">Max size</th></tr tr><td<><PRIVYUV/>/td><id="rb"MULTI_RES></td td<>>Same as input</td td><id="rb">MULTI_RES</td td td><>JPEG</td><td id="rb"<>MULTI_RES/td td<>td>< td td><id="rb"></td<>td>< td td><id="rb"></td td><>no-viewfinder still image reprocesamiento.</td></tr><tr><td><YUV/PRIV/td><td id="rb"><MULTI_RES/td td>><igual que input</td td><id="rb"MULTI_RES></td<>td<PRIV> td><id="rb"PREVIEW<>/td<>tdJPEG<> td td><id="rb"MULTI_RES></td><>< td td><><><>ZSL(Zero-Shutter-Lag) todavía imágenes.</td></tr><tr><td><YUV/PRIV/td><td id="rb"><MULTI_RES/td td>><igual que input</td td><id="rb"MULTI_RES></td<>td<YUV> td><id="rb"PREVIEW<>/td<>tdJPEG<> td td><id="rb"MULTI_RES></td><>< td td><><><>ZSL sigue procesando imágenes en la aplicación.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MULTI_RES/td<>td>igual que input</td td><id="rb"MULTI_RES></td<>td<YUV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MULTI_RES<JPEG<>< td td</td><td ZSL in-app processing with still capture( td>ZSL in-app processing with still capture.</td></tr></table><br><table><tr><th colspan="11">Full-level additional guaranteed configurations for creating a reprocessable capture session with multi-resolution input and multi-resolution outputs<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV input is guaranteed only if YUV reprocessing is supported)</th></tr tr><><th colspan="2" id="rb" >Input</th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr<>><th>Type</th><id="rb">Max size</th>><type</th id="th><id="rb">Max size/< th><Type/th><id="rb">Max size</th><>type</><th id="rb"Max size/th id="rb">Max size</th<>>< th><id="rb">Max size</th></tr tr><><td td<>><PRIV td id="rb"MULTI_RES></td><td tdPRIV<> td><id="rb"<MULTI_RES>/td<><<PRIV>> id=<>"rb"><PREVIEW/td td><>YUV< td td td><id="rb">MULTI_RES</td><td>< td td><id="rb"></td td<>>Maximum-resolution ZSL in-app processing with regular preview.</td></tr tr>><<td>PRIV</td><td id="rb"MULTI_RES<>/td>PRIV><<>< td id="rb"MULTI_RES<>/td tdYUV<>>< td td><id="rb"<PREVIEW>/td td<>><YUV td td><id="rb">MULTI_RES</td><td>< td td><id="rb"></td><td>maximum-resolution procesamiento de ZSL en aplicación de dos entradas.</td></tr tr><<>td>PRIV<YUV//td><td id="rb"><MULTI_RES/td<>td>igual que input</td td><id="rb"MULTI_RES></td<>td<PRIV> td><id="rb"PREVIEW></td><td td<>YUV td><id="rb"PREVIEW></td>>>MULTI_RES<JPEG<>< td td</td><td>ZSL sigue capturando y procesando en la aplicación.</td></tr></table><br>

Los dispositivos con la funcionalidad ULTRA_HIGH_RESOLUTION_SENSOR tienen algunas garantías adicionales que los clientes pueden aprovechar :

<table><tr><th colspan="13">Combinaciones garantizadas adicionales para los sensores de ULTRA_HIGH_RESOLUTION (las entradas YUV / PRIV solo se garantizan si se admiten reprocesamiento YUV / PRIVATE)</th></tr><<>th colspan="3" id="rb">Input</th colth<>colspan="3" id="rb">Target 1</th<>colspan="3" id="rb">Target 2</th th><colspan="3" id="rb">Target 3</th><rowspan="2">Casos de uso de ejemplo/<th/th></tr tr>><<th>Type</th><id="rb"> SC Map</th><id="rb">Max size</th>><Type</th><id="rb"> SC Map</th th id="th><id="rb">Max size</th><>Type</><th th id="rb"> SC Map</th th><id="rb">Max size</th><>Type</th><id="rb"> SC Map</th th id="rb" th><id="rb" >Tamaño< máximo/th></tr tr>><<td>RAW</td><td id="rb"<MAX_RES>/td td><id="rb"<>MAX/td><td<RAW> td td><id="rb">MAX_RES</td td id="rb"/td><id="rb">MAX</t td><td id="rb"<>PRIV / YUV/td td><id="rb"DEFAULT></td td><id="rb">PREVIEW</td td><colspan="3" id="rb"></td td><>RAW remosaic reprocessing with separate preview</td></tr tr>><<td>RAW</td><td td id="rb"MAX_RES<>/td><td id="rb">MAX</td><><RAW>< id="rbMAX_RES<>"/td td id="rb"MAX<>/td td><id="rb"><PRIV / YUV/td td><id="rb<DEFAULT>"/td><td id="rbPREVIEW<>"/td td id="rb"/td><><td id="rb">JPEG / YUV</td><td id="rb">MAX_RES</td><td id="rb">MAX</td><td>Ultra high res RAW -> JPEG / YUV con versión preliminar< independiente/td<>/tr tr><<>td<>YUV / PRIV td td><id="rb"MAX_RES<>/td td><id="rb">MAX</td<>tdYUV / PRIV<> td><id="rb<MAX_RES>"/td td><id="rb>MAX<"/ td><td id="rb"><YUV / PRIV/td><td id="rb">DEFAULT</td><td id="rb"PREVIEW></td td><id="rb">JPEG</td><td id="rb"<MAX_RES>/td><td id="rb"<>MAX/td td><> ultra high res PRIV / YUV - YUV -> YUV / JPEG reprocessing with separate preview</td<>/tr<>/table br>>< No hay combinaciones de secuencias obligatorias adicionales para la funcionalidad RAW y el nivel de hardware LEVEL-3. </p>

<h3>Grabación< restringida de alta velocidad/h3>

La aplicación puede usar un android.hardware.camera2.params.SessionConfiguration#SESSION_REGULAR normal capture session para la captura de alta velocidad si se anuncian los intervalos de FPS de alta velocidad deseados por CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, en cuyo caso se aplica toda la semántica de API asociada a sesiones de captura normales.

Se android.hardware.camera2.params.SessionConfiguration#SESSION_HIGH_SPEED high-speed capture session puede usar para la grabación de vídeo de alta velocidad (>=120fps) cuando el dispositivo de cámara admite la capacidad de vídeo de alta velocidad (es decir, CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES contiene CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO). Una sesión de captura de alta velocidad restringida tiene limitaciones especiales en comparación con una sesión de captura normal:

<ul>

<li>Además del destino de salida Surface requisitos especificados anteriormente para las capturas normales, una sesión de captura de alta velocidad solo admitirá hasta 2 superficies de salida, aunque la aplicación podría optar por configurar solo una Surface (por ejemplo, solo versión preliminar). Todas las Superficies deben ser superficies de codificador de vídeo (adquiridas por android.media.MediaRecorder#getSurface o ) o android.media.MediaCodec#createInputSurfacesuperficies de vista previa (obtenidas de , android.graphics.SurfaceTexture a través de android.view.SurfaceViewandroid.view.Surface#Surface(android.graphics.SurfaceTexture)). Los tamaños de Surface deben ser uno de los tamaños notificados por StreamConfigurationMap#getHighSpeedVideoSizes. Cuando se configuran varias Superficies, su tamaño debe ser el mismo.</li>

<li>Una sesión de captura de alta velocidad activa solo acepta listas de solicitudes creadas a través CameraConstrainedHighSpeedCaptureSession#createHighSpeedRequestListde y la lista de solicitudes solo se puede enviar a esta sesión a través CameraCaptureSession#captureBurst captureBurstde , o CameraCaptureSession#setRepeatingBurst setRepeatingBurst.</li>

<li>Los intervalos de FPS que se solicitan a esta sesión deben seleccionarse en StreamConfigurationMap#getHighSpeedVideoFpsRangesFor. La aplicación puede seguir usando CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE para controlar el intervalo de FPS deseado. Cambiar a un intervalo de FPS que tiene diferentes android.util.Range#getUpper() maximum FPS puede desencadenar algunas reconfiguraciones de dispositivos de cámara, lo que puede introducir una latencia adicional. Se recomienda que la aplicación evite los cambios de FPS máximos de destino innecesarios tanto como sea posible durante el streaming de alta velocidad.</li>

<li>Para las listas de solicitudes enviadas a esta sesión, el dispositivo de cámara invalidará , la CaptureRequest#CONTROL_MODE control modeexposición automática (AE), el equilibrio automático de blancos (AWB) y el enfoque automático (AF) en CameraMetadata#CONTROL_MODE_AUTO, CameraMetadata#CONTROL_AE_MODE_ONCameraMetadata#CONTROL_AWB_MODE_AUTO y CameraMetadata#CONTROL_AF_MODE_CONTINUOUS_VIDEO, respectivamente. Todos los controles de modo de bloqueo posteriores al procesamiento se invalidarán para que sean FAST. Por lo tanto, no es posible controlar manualmente los parámetros de captura y posprocesamiento. Además de esto, solo funcionará un subconjunto de controles, consulte CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO para obtener más detalles.</li>

</ul>

Java documentación para android.hardware.camera2.CameraDevice.createCaptureSession(android.hardware.camera2.params.SessionConfiguration).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

CreateCaptureSession(IList<Surface>, CameraCaptureSession+StateCallback, Handler)

[Android.Runtime.Register("createCaptureSession", "(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V", "GetCreateCaptureSession_Ljava_util_List_Landroid_hardware_camera2_CameraCaptureSession_StateCallback_Landroid_os_Handler_Handler")]
public abstract void CreateCaptureSession(System.Collections.Generic.IList<Android.Views.Surface> outputs, Android.Hardware.Camera2.CameraCaptureSession.StateCallback callback, Android.OS.Handler? handler);
[<Android.Runtime.Register("createCaptureSession", "(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V", "GetCreateCaptureSession_Ljava_util_List_Landroid_hardware_camera2_CameraCaptureSession_StateCallback_Landroid_os_Handler_Handler")>]
abstract member CreateCaptureSession : System.Collections.Generic.IList<Android.Views.Surface> * Android.Hardware.Camera2.CameraCaptureSession.StateCallback * Android.OS.Handler -> unit

Parámetros

outputs
IList<Surface>
handler
Handler
Atributos

Comentarios

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a