OutputConfiguration Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 Surface
arquivo . 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#updateOutputConfiguration
o . Uma OutputConfiguration com compartilhamento de superfície habilitado pode ser modificada via #addSurface
#removeSurface
ou . 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#finalizeOutputConfigurations
o . 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(Size, Class) |
Crie uma nova |
OutputConfiguration(Surface) |
Crie uma nova |
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 |
TimestampBaseRealtime |
Obsoleto.
Base de carimbo de data/hora aproximadamente igual a |
TimestampBaseSensor |
Obsoleto.
Base de carimbo de data/hora de |
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Creator |
Uma classe para descrever a saída da câmera, que contém uma |
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 |
JniPeerMembers |
Uma classe para descrever a saída da câmera, que contém uma |
MaxSharedSurfaceCount |
Obtenha a contagem compartilhada |
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 |
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 |
SurfaceGroupId |
Obtenha o ID do grupo de superfície associado a este |
Surfaces |
Obtenha a lista imutável de superfícies associadas a este |
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 |
DescribeContents() |
Uma classe para descrever a saída da câmera, que contém uma |
Dispose() |
Uma classe para descrever a saída da câmera, que contém uma |
Dispose(Boolean) |
Uma classe para descrever a saída da câmera, que contém uma |
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 |
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 |
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, 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) |
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) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
Uma classe para descrever a saída da câmera, que contém uma |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.DisposeUnlessReferenced() |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.Finalized() |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.JniManagedPeerState |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Uma classe para descrever a saída da câmera, que contém uma |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Uma classe para descrever a saída da câmera, que contém uma |
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 |
GetJniTypeName(IJavaPeerable) |
Uma classe para descrever a saída da câmera, que contém uma |