OutputConfiguration Classe

Definição

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão 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
Herança
OutputConfiguration
Atributos
Implementações

Comentários

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

Há várias maneiras de instanciar, modificar e usar OutputConfigurations. Os padrões de uso mais comuns e recomendados são resumidos na seguinte lista:

<ul><li>Passando um Surface para o construtor e usando a instância OutputConfiguration como argumento para CameraDevice#createCaptureSessionByOutputConfigurations. Esse é o uso mais frequente e os clientes devem considerá-lo primeiro antes de outras alternativas mais complicadas. </li>

<li>Passando apenas uma classe de origem de superfície como um argumento para o construtor. Isso geralmente é seguido por uma chamada para criar uma sessão de captura (consulte CameraDevice#createCaptureSessionByOutputConfigurations e uma Surface chamada de adição #addSurface com uma chamada válida Surface. A sequência é concluída com CameraCaptureSession#finalizeOutputConfigurations. Esse é o caso de uso adiado que visa aprimorar o desempenho, permitindo que a chamada de criação de sessão de captura com uso intensivo de recursos seja executada em paralelo com qualquer Surface inicialização, como esperar que um android.view.SurfaceView esteja pronto como parte da inicialização da interface do usuário.</li>

<li>O terceiro e mais complexo padrão de uso envolve o compartilhamento de superfície. Depois de instanciado, um OutputConfiguration pode ser habilitado para o compartilhamento de superfície por meio de #enableSurfaceSharing. Isso deve ser feito antes de criar uma nova sessão de captura e habilitar chamadas para CameraCaptureSession#updateOutputConfiguration. Um OutputConfiguration com compartilhamento de superfície habilitado pode ser modificado por meio #addSurface ou #removeSurface. As atualizações para essa OutputConfiguration só entrarão em vigor após CameraCaptureSession#updateOutputConfiguration os retornos sem gerar exceções. Essas atualizações podem ser feitas desde que a sessão esteja ativa. Os clientes sempre devem considerar os requisitos e limitações adicionais colocados nas superfícies de saída (para obter mais detalhes, consulte #enableSurfaceSharing, #addSurface, #removeSurface, CameraCaptureSession#updateOutputConfiguration). Existe uma compensação entre complexidade e flexibilidade adicionais. Se exercido corretamente, o compartilhamento de superfície poderá alternar entre diferentes superfícies de saída sem interromper nenhuma solicitação de captura recorrente contínua. Isso economiza tempo e pode melhorar significativamente a experiência do usuário.</li>

<li> Surface compartilhamento pode ser usado em combinação com superfícies adiadas. As regras de ambos os casos são combinadas e os clientes devem chamar #enableSurfaceSharing antes de criar uma sessão de captura. Anexe e/ou remova superfícies de saída e #addSurface/#removeSurface finalize a configuração usando .CameraCaptureSession#finalizeOutputConfigurations CameraCaptureSession#updateOutputConfiguration pode ser chamado depois que o método de finalização de configuração retorna sem exceções.</li>

<li>Se o dispositivo de câmera der suporte a fluxos de saída de várias resoluções, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP conterá os formatos e suas informações de fluxo correspondentes. O aplicativo pode usar uma OutputConfiguration criada com as informações de fluxo de várias resoluções consultadas e MultiResolutionStreamConfigurationMap#getOutputInfo para capturar imagens de android.hardware.camera2.MultiResolutionImageReader tamanho variável.

</ul>

A partir de então android.os.Build.VERSION_CODES#P Android P, todos os formatos, exceto ImageFormat#JPEG e ImageFormat#RAW_PRIVATE que podem ser usados para compartilhamento, sujeitos ao suporte ao dispositivo. Em níveis de API anteriores, somente ImageFormat#PRIVATE o formato pode ser usado.

Java documentação para android.hardware.camera2.params.OutputConfiguration.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
OutputConfiguration(ImageFormatType, Size, Int64)

Crie uma nova OutputConfiguration instância para um ImageReader determinado formato, tamanho e sinalizadores de uso.

OutputConfiguration(ImageFormatType, Size)

Crie uma nova OutputConfiguration instância para um ImageReader determinado formato e tamanho.

OutputConfiguration(Int32, ImageFormatType, Size, Int64)

Crie uma nova OutputConfiguration instância para uma ImageReader determinada ID do grupo de superfície, formato, tamanho e sinalizadores de uso.

OutputConfiguration(Int32, ImageFormatType, Size)

Crie uma nova OutputConfiguration instância para um ImageReader determinado surfaceGroupId, formato e tamanho.

OutputConfiguration(Int32, Surface)

Crie uma nova OutputConfiguration instância com uma SurfaceID de grupo de surface.

OutputConfiguration(Size, Class)

Crie uma nova OutputConfiguration instância, com o tamanho de Surface desejado e Surface classe de origem.

OutputConfiguration(Surface)

Criar uma nova OutputConfiguration instância com um Surface.

Campos

Nome Description
MirrorModeAuto
Obsoleto.

Espelhamento automático com base no voltado para a câmera

MirrorModeH
Obsoleto.

A saída da câmera é espelhada horizontalmente

MirrorModeNone
Obsoleto.

Nenhuma transformação espelho é aplicada

MirrorModeV
Obsoleto.

A saída da câmera é espelhada verticalmente

SurfaceGroupIdNone

ID de grupo de superfície inválida.

TimestampBaseChoreographerSynced
Obsoleto.

O carimbo de data/hora é sincronizado com o coreógrafo.

TimestampBaseDefault
Obsoleto.

Base de carimbo de data/hora padrão.

TimestampBaseMonotonic
Obsoleto.

Base de carimbo de data/hora aproximadamente igual a android.os.SystemClock#uptimeMillis.

TimestampBaseRealtime
Obsoleto.

Base de carimbo de data/hora aproximadamente igual a android.os.SystemClock#elapsedRealtime.

TimestampBaseSensor
Obsoleto.

Base de carimbo de data/hora de CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Creator

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

DynamicRangeProfile

Retornar o perfil de intervalo dinâmico atual. -ou- Defina um perfil de intervalo dinâmico com suporte de dispositivo específico.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniPeerMembers

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

MaxSharedSurfaceCount

Obtenha a contagem compartilhada Surface máxima com suporte.

MirrorMode

Obter o modo de espelhamento atual -ou- Definir o modo de espelhamento para este destino de saída

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ReadoutTimestampEnabled

Se o carimbo de data/hora de leitura é usado para este OutputConfiguration. -ou- Use o tempo de leitura do sensor de câmera para o carimbo de data/hora da imagem.

StreamUseCase

Obter o caso de uso do fluxo atual -ou- Definir caso de uso de fluxo para este OutputConfiguration

Surface

Obtenha o Surface associado a isso OutputConfiguration.

SurfaceGroupId

Obtenha a ID do grupo de superfície associada a isso OutputConfiguration.

Surfaces

Obtenha a lista imutável de superfícies associadas a isso OutputConfiguration.

ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
TimestampBase

Obter a base do carimbo de data/hora atual -ou- Definir base de carimbo de data/hora para este destino de saída

Métodos

Nome Description
AddSensorPixelModeUsed(Int32)

Adicione um modo de pixel de sensor no qual esse OutputConfiguration será usado.

AddSurface(Surface)

Adicione uma superfície a essa OutputConfiguration.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CreateInstancesForMultiResolutionOutput(ICollection<MultiResolutionStreamInfo>, ImageFormatType)

Criar uma lista de OutputConfiguration instâncias para um MultiResolutionImageReader.

CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader)

Crie uma lista de OutputConfiguration instâncias para as saídas usadas por um android.hardware.camera2.MultiResolutionImageReader.

DescribeContents()

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
EnableSurfaceSharing()

Habilitar várias superfícies compartilhando o mesmo OutputConfiguration

Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
RemoveSensorPixelModeUsed(Int32)

Remova um modo de pixel do sensor, adicionado anteriormente por meio de addSensorPixelModeUsed, desta OutputConfiguration.

RemoveSurface(Surface)

Remova uma superfície desta OutputConfiguration.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetMirrorMode(Surface, MirrorMode)

Definir o modo de espelhamento para uma superfície pertencente a essa OutputConfiguration

SetPhysicalCameraId(String)

Definir a ID da câmera física para este OutputConfiguration

SetSurfacesForMultiResolutionOutput(ICollection<OutputConfiguration>, MultiResolutionImageReader)

Defina as superfícies OutputConfiguration correspondentes ao MultiResolutionImageReader.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Notifica o runtime de interoperabilidade de que esse par gerenciado foi descartado.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Libera esse par Java, a menos que seja mantido por outra referência gerenciada.

(Herdado de Object)
IJavaPeerable.Finalized()

Notifica o runtime de interoperabilidade de que esse par gerenciado foi finalizado.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Obtém o estado que descreve a relação entre esse par gerenciado e sua referência de JNI.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Define o código de hash de identidade de interoperabilidade para esse par Java.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Define o estado de par gerenciado e JNI para esse par Java.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Define a referência de objeto JNI usada por esse par gerenciado.

(Herdado de Object)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Uma classe para descrever a saída da câmera, que contém uma Surface configuração específica para criar uma sessão de captura.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a