Partilhar via


OutputConfiguration Classe

Definição

Uma classe para descrever a saída da câmera, que contém uma Surface e sua configuração específica para criar a 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 e sua configuração específica para criar a 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 lista a seguir:

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

<li>Passando apenas uma classe de fonte 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 #addSurface de adição com um Surfacearquivo . A sequência é completada com CameraCaptureSession#finalizeOutputConfigurations. Esse é o caso de uso adiado que visa melhorar 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 aguardar 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. Uma vez instanciado, um OutputConfiguration pode ser habilitado para compartilhamento de superfície via #enableSurfaceSharing. Isso deve ser feito antes de criar uma nova sessão de captura e habilitar chamadas para CameraCaptureSession#updateOutputConfigurationo . Uma OutputConfiguration com compartilhamento de superfície habilitado pode ser modificada via #addSurface #removeSurfaceou . As atualizações para este OutputConfiguration só entrarão em vigor após CameraCaptureSession#updateOutputConfiguration retornos sem lançar exceções. Essas atualizações podem ser feitas desde que a sessão esteja ativa. Os clientes devem sempre 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 um trade-off entre complexidade adicional e flexibilidade. Se exercido corretamente, o compartilhamento de superfície pode alternar entre diferentes superfícies de saída sem interromper quaisquer solicitações de captura repetidas em andamento. Isso economiza tempo e pode melhorar significativamente a experiência do usuário.</li>

<li>A partilha de superfície pode ser utilizada em combinação com superfícies adiadas. As regras de ambos os casos são combinadas e os clientes devem ligar #enableSurfaceSharing antes de criar uma sessão de captura. Conecte e/ou remova superfícies de saída e #addSurface/#removeSurface finalize a configuração usando CameraCaptureSession#finalizeOutputConfigurationso . CameraCaptureSession#updateOutputConfiguration pode ser chamado depois que o método configuration finalize retorna sem exceções.</li>

<li>Se o dispositivo da câmera suportar fluxos de saída de multi-resolução, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP conterá os formatos e suas informações de fluxo correspondentes. O aplicativo pode usar um OutputConfiguration criado com as informações de fluxo de multirresolução consultadas de e android.hardware.camera2.MultiResolutionImageReader para capturar imagens de MultiResolutionStreamConfigurationMap#getOutputInfo tamanho variável.

</ul>

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

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

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

Construtores

OutputConfiguration(Int32, Surface)

Crie uma nova OutputConfiguration instância com um Surface, com uma ID de grupo de superfície.

OutputConfiguration(Size, Class)

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

OutputConfiguration(Surface)

Crie uma nova OutputConfiguration instância com um Surfacearquivo .

Campos

MirrorModeAuto
Obsoleto.

Espelhamento automático com base na câmera

MirrorModeH
Obsoleto.

A saída da câmera é espelhada horizontalmente

MirrorModeNone
Obsoleto.

Nenhuma transformação de espelho é aplicada

MirrorModeV
Obsoleto.

A saída da câmera é espelhada verticalmente

SurfaceGroupIdNone

ID de grupo de superfície inválido.

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

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Creator

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

DynamicRangeProfile

Retorne o perfil de intervalo dinâmico atual. -ou- Defina um perfil de faixa dinâmica suportado por dispositivo específico.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

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

(Herdado de Object)
JniPeerMembers

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

MaxSharedSurfaceCount

Obtenha a contagem compartilhada Surface máxima suportada.

MirrorMode

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

PeerReference

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

(Herdado de Object)
ReadoutTimestampEnabled

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

StreamUseCase

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

Surface

Associe-se a Surface este OutputConfiguration.

SurfaceGroupId

Obtenha o ID do grupo de superfície associado a este OutputConfiguration.

Surfaces

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

ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
TimestampBase

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

Métodos

AddSensorPixelModeUsed(Int32)

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

AddSurface(Surface)

Adicione uma superfície a este OutputConfiguration.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader)

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

DescribeContents()

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

Dispose()

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

(Herdado de Object)
Dispose(Boolean)

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

(Herdado de Object)
EnableSurfaceSharing()

Habilitar várias superfícies compartilhando a mesma 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, deste OutputConfiguration.

RemoveSurface(Surface)

Remova uma superfície deste OutputConfiguration.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
SetPhysicalCameraId(String)

Definir o id da câmera física para este OutputConfiguration

ToArray<T>()

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

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

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

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

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

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa 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 e sua configuração específica para criar a sessão de captura.

Implantações explícitas de interface

IJavaPeerable.Disposed()

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

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Herdado de Object)
IJavaPeerable.Finalized()

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

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

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

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

Aplica-se a