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 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
- 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(ImageFormatType, Size) |
Crie uma nova |
| OutputConfiguration(Int32, ImageFormatType, Size, Int64) |
Crie uma nova |
| OutputConfiguration(Int32, ImageFormatType, Size) |
Crie uma nova |
| OutputConfiguration(Int32, Surface) |
Crie uma nova |
| OutputConfiguration(Size, Class) |
Crie uma nova |
| OutputConfiguration(Surface) |
Criar uma nova |
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 |
| TimestampBaseRealtime |
Obsoleto.
Base de carimbo de data/hora aproximadamente igual a |
| TimestampBaseSensor |
Obsoleto.
Base de carimbo de data/hora de |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Creator |
Uma classe para descrever a saída da câmera, que contém uma |
| 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 |
| 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 |
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 |
| SurfaceGroupId |
Obtenha a ID do grupo de superfície associada a isso |
| Surfaces |
Obtenha a lista imutável de superfícies associadas a isso |
| 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 |
| CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader) |
Crie uma lista de |
| DescribeContents() |
Uma classe para descrever a saída da câmera, que contém uma |
| 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 |
| 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 |
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 |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| 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 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |