OutputConfiguration Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase para describir la salida de la cámara, que contiene una Surface
y su configuración específica para crear una sesión de captura.
[Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class OutputConfiguration : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)>]
type OutputConfiguration = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herencia
- Atributos
- Implementaciones
Comentarios
Clase para describir la salida de la cámara, que contiene una Surface
y su configuración específica para crear una sesión de captura.
Hay varias maneras de crear instancias, modificar y usar OutputConfigurations. Los patrones de uso más comunes y recomendados se resumen en la lista siguiente:
<ul><li>Pasando un Surface
elemento al constructor y usando la instancia outputConfiguration como argumento a CameraDevice#createCaptureSessionByOutputConfigurations
. Este es el uso más frecuente y los clientes deben considerarlo primero antes de otras alternativas más complicadas. </Li>
<li>Pasando solo una clase de origen de superficie como argumento al constructor. Esto suele ir seguido de una llamada para crear una sesión de captura (vea CameraDevice#createCaptureSessionByOutputConfigurations
y agregue una Surface
llamada #addSurface
con un valor válido Surface
. La secuencia se completa con CameraCaptureSession#finalizeOutputConfigurations
. Este es el caso de uso diferido que pretende mejorar el rendimiento al permitir que la sesión de captura intensiva de recursos cree una llamada para ejecutarse en paralelo con cualquier Surface
inicialización, como esperar android.view.SurfaceView
a que esté listo como parte de la inicialización de la interfaz de usuario.</Li>
<li>El tercer y el patrón de uso más complejo implica el uso compartido de superficies. Una vez creada una instancia de OutputConfiguration, se puede habilitar para el uso compartido de superficies a través de #enableSurfaceSharing
. Esto debe hacerse antes de crear una nueva sesión de captura y habilitar las llamadas a CameraCaptureSession#updateOutputConfiguration
. OutputConfiguration con uso compartido de superficie habilitado se puede modificar a través #addSurface
de o #removeSurface
. Las actualizaciones de esta outputConfiguration solo entrarán en vigor después de CameraCaptureSession#updateOutputConfiguration
las devoluciones sin producir excepciones. Estas actualizaciones se pueden realizar siempre que la sesión esté activa. Los clientes siempre deben tener en cuenta los requisitos y limitaciones adicionales que se colocan en las superficies de salida (para obtener más detalles, vea #enableSurfaceSharing
, #addSurface
#removeSurface
, , CameraCaptureSession#updateOutputConfiguration
). Existe un equilibrio entre la complejidad y la flexibilidad adicionales. Si se ha ejecutado correctamente el uso compartido de superficies puede cambiar entre diferentes superficies de salida sin interrumpir las solicitudes de captura repetidas en curso. Esto ahorra tiempo y puede mejorar significativamente la experiencia del usuario.</Li>
<Li>Surface sharing se puede usar en combinación con superficies diferidas. Las reglas de ambos casos se combinan y los clientes deben llamar #enableSurfaceSharing
a antes de crear una sesión de captura. Adjunte o quite superficies de salida a través #addSurface
/#removeSurface
de y finalice la configuración mediante .CameraCaptureSession#finalizeOutputConfigurations
CameraCaptureSession#updateOutputConfiguration
se puede llamar después de que el método configuration finalize devuelva sin excepciones.</Li>
<li>Si el dispositivo de cámara admite secuencias de salida de resolución múltiple, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP
contendrá los formatos y su información de secuencia correspondiente. La aplicación puede usar una outputConfiguration creada con la información de flujo de resolución múltiple consultada desde MultiResolutionStreamConfigurationMap#getOutputInfo
y android.hardware.camera2.MultiResolutionImageReader
para capturar imágenes de tamaño variable.
</ul>
A partir de android.os.Build.VERSION_CODES#P Android P
, todos los formatos excepto ImageFormat#JPEG
y ImageFormat#RAW_PRIVATE
se pueden usar para compartir, sujeto a compatibilidad con dispositivos. En los niveles anteriores de la API, solo ImageFormat#PRIVATE
se puede usar el formato.
Documentación de Java para android.hardware.camera2.params.OutputConfiguration
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
OutputConfiguration(Int32, Surface) |
Cree una nueva |
OutputConfiguration(Size, Class) |
Cree una nueva |
OutputConfiguration(Surface) |
Cree una nueva |
Campos
MirrorModeAuto |
Obsoletos.
Creación de reflejo automática basada en la cámara orientada a la cámara |
MirrorModeH |
Obsoletos.
La salida de la cámara se refleja horizontalmente |
MirrorModeNone |
Obsoletos.
No se aplica ninguna transformación de reflejo |
MirrorModeV |
Obsoletos.
La salida de la cámara se refleja verticalmente |
SurfaceGroupIdNone |
Identificador de grupo de superficie no válido. |
TimestampBaseChoreographerSynced |
Obsoletos.
La marca de tiempo se sincroniza con el coreógrafo. |
TimestampBaseDefault |
Obsoletos.
Base de marca de tiempo predeterminada. |
TimestampBaseMonotonic |
Obsoletos.
Base de marca de tiempo aproximadamente igual que |
TimestampBaseRealtime |
Obsoletos.
Base de marca de tiempo aproximadamente igual que |
TimestampBaseSensor |
Obsoletos.
Base de marca de tiempo de |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Creator |
Clase para describir la salida de la cámara, que contiene una |
DynamicRangeProfile |
Devuelve el perfil de intervalo dinámico actual. -o bien- Establecer un perfil de intervalo dinámico compatible con un dispositivo específico. |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
JniIdentityHashCode |
Clase para describir la salida de la cámara, que contiene una |
JniPeerMembers |
Clase para describir la salida de la cámara, que contiene una |
MaxSharedSurfaceCount |
Obtenga el número máximo de recursos compartidos |
MirrorMode |
Obtener el modo de creación de reflejo actual o establecer el modo de creación de reflejo para este destino de salida |
PeerReference |
Clase para describir la salida de la cámara, que contiene una |
ReadoutTimestampEnabled |
Indica si se usa la marca de tiempo de lectura para esta outputConfiguration. -o bien- Use el tiempo de lectura del sensor de cámara para la marca de tiempo de la imagen. |
StreamUseCase |
Obtenga el caso de uso de la secuencia actual o establezca el caso de uso de la secuencia para esta outputConfiguration. |
Surface |
Obtenga el |
SurfaceGroupId |
Obtenga el identificador de grupo de superficie asociado a este |
Surfaces |
Obtiene la lista inmutable de superficies asociadas a este |
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
TimestampBase |
Obtener la base de marca de tiempo actual (o bien) Establecer la base de marca de tiempo para este destino de salida |
Métodos
AddSensorPixelModeUsed(Int32) |
Agregue un modo de píxeles de sensor en el que se usará esta clase OutputConfiguration. |
AddSurface(Surface) |
Agregue una superficie a esta outputConfiguration. |
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader) |
Cree una lista de |
DescribeContents() |
Clase para describir la salida de la cámara, que contiene una |
Dispose() |
Clase para describir la salida de la cámara, que contiene una |
Dispose(Boolean) |
Clase para describir la salida de la cámara, que contiene una |
EnableSurfaceSharing() |
Habilitación de varias superficies que comparten la misma outputConfiguration |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
RemoveSensorPixelModeUsed(Int32) |
Quite un modo de píxeles del sensor, agregado previamente a través de addSensorPixelModeUsed, de esta outputConfiguration. |
RemoveSurface(Surface) |
Quite una superficie de esta outputConfiguration. |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
SetPhysicalCameraId(String) |
Establecer el identificador de la cámara física para esta outputConfiguration |
ToArray<T>() |
Clase para describir la salida de la cámara, que contiene una |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Clase para describir la salida de la cámara, que contiene una |
Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
Clase para describir la salida de la cámara, que contiene una |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.DisposeUnlessReferenced() |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.Finalized() |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.JniManagedPeerState |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Clase para describir la salida de la cámara, que contiene una |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Clase para describir la salida de la cámara, que contiene una |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Clase para describir la salida de la cámara, que contiene una |
GetJniTypeName(IJavaPeerable) |
Clase para describir la salida de la cámara, que contiene una |