Condividi tramite


OutputConfiguration Classe

Definizione

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

[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
Ereditarietà
OutputConfiguration
Attributi
Implementazioni

Commenti

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

Esistono diversi modi per creare un'istanza, modificare e usare OutputConfigurations. I modelli di utilizzo più comuni e consigliati sono riepilogati nell'elenco seguente:

<ul><li>Passare un Surface oggetto al costruttore e usare l'istanza di OutputConfiguration come argomento a CameraDevice#createCaptureSessionByOutputConfigurations. Questo è l'utilizzo più frequente e i client devono considerarlo prima di altre alternative più complesse. </li>

<li>Passando solo una classe di origine di superficie come argomento al costruttore. Questa operazione viene in genere seguita da una chiamata per creare una sessione di acquisizione (vedere CameraDevice#createCaptureSessionByOutputConfigurations e aggiungere una Surface chiamata #addSurface con un oggetto valido Surface). La sequenza viene completata con CameraCaptureSession#finalizeOutputConfigurations. Questo è il caso di utilizzo posticipato che mira a migliorare le prestazioni consentendo alla sessione di acquisizione a elevato utilizzo di risorse di creare una chiamata da eseguire in parallelo con qualsiasi Surface inizializzazione, ad esempio l'attesa di essere android.view.SurfaceView pronto come parte dell'inizializzazione dell'interfaccia utente.</li>

<li>Il terzo e il modello di utilizzo più complesso implica la condivisione della superficie. Dopo aver creato un'istanza di OutputConfiguration, è possibile abilitare la condivisione della superficie tramite #enableSurfaceSharing. Questa operazione deve essere eseguita prima di creare una nuova sessione di acquisizione e abilitare le chiamate a CameraCaptureSession#updateOutputConfiguration. Un outputConfiguration con condivisione della superficie abilitata può essere modificato tramite #addSurface o #removeSurface. Gli aggiornamenti di outputConfiguration verranno applicati solo dopo CameraCaptureSession#updateOutputConfiguration la restituzione senza generare eccezioni. Tali aggiornamenti possono essere eseguiti finché la sessione è attiva. I client devono sempre considerare i requisiti e le limitazioni aggiuntivi posti sulle superfici di output (per altri dettagli vedere #enableSurfaceSharing, #addSurface, #removeSurface, CameraCaptureSession#updateOutputConfiguration). Esiste un compromesso tra complessità e flessibilità aggiuntive. Se è stata eseguita correttamente la condivisione della superficie, è possibile passare da diverse superfici di output senza interrompere le richieste di acquisizione ripetute in corso. In questo modo è possibile risparmiare tempo e migliorare notevolmente l'esperienza utente.</li>

<La condivisione di surface li>può essere usata in combinazione con superfici posticipate. Le regole di entrambi i casi vengono combinate e i client devono chiamare #enableSurfaceSharing prima di creare una sessione di acquisizione. Collegare e/o rimuovere le superfici di output tramite #addSurface/#removeSurface e finalizzare la configurazione usando .CameraCaptureSession#finalizeOutputConfigurations CameraCaptureSession#updateOutputConfiguration può essere chiamato dopo che il metodo di finalizzazione della configurazione restituisce senza eccezioni.</li>

<li>Se il dispositivo fotocamera supporta flussi di output a risoluzione multipla, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP conterrà i formati e le informazioni sul flusso corrispondenti. L'applicazione può usare un outputConfiguration creato con le informazioni sul flusso a risoluzione multipla sottoposte a query da MultiResolutionStreamConfigurationMap#getOutputInfo e android.hardware.camera2.MultiResolutionImageReader per acquisire immagini di dimensioni variabili.

</ul>

A partire da android.os.Build.VERSION_CODES#P Android P, tutti i formati tranne ImageFormat#JPEG e ImageFormat#RAW_PRIVATE possono essere usati per la condivisione, soggetti al supporto del dispositivo. Nei livelli api precedenti è possibile usare solo ImageFormat#PRIVATE il formato.

Documentazione java per android.hardware.camera2.params.OutputConfiguration.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

OutputConfiguration(Int32, Surface)

Creare una nuova OutputConfiguration istanza con , Surfacecon un ID gruppo di superficie.

OutputConfiguration(Size, Class)

Creare una nuova OutputConfiguration istanza con le dimensioni desiderate di Surface e la classe di origine surface.

OutputConfiguration(Surface)

Creare una nuova OutputConfiguration istanza con un oggetto Surface.

Campi

MirrorModeAuto
Obsoleti.

Mirroring automatico basato sul lato fotocamera

MirrorModeH
Obsoleti.

L'output della fotocamera viene eseguito orizzontalmente

MirrorModeNone
Obsoleti.

Non viene applicata alcuna trasformazione mirror

MirrorModeV
Obsoleti.

L'output della fotocamera viene sottoposto a mirroring verticalmente

SurfaceGroupIdNone

ID gruppo di superficie non valido.

TimestampBaseChoreographerSynced
Obsoleti.

Il timestamp viene sincronizzato con il coreografo.

TimestampBaseDefault
Obsoleti.

Base timestamp predefinita.

TimestampBaseMonotonic
Obsoleti.

Timestamp base approssimativamente uguale android.os.SystemClock#uptimeMillisa .

TimestampBaseRealtime
Obsoleti.

Timestamp base approssimativamente uguale android.os.SystemClock#elapsedRealtimea .

TimestampBaseSensor
Obsoleti.

Base timestamp di CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Creator

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

DynamicRangeProfile

Restituisce il profilo di intervallo dinamico corrente. -oppure- Impostare un profilo di intervallo dinamico supportato da un dispositivo specifico.

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
JniPeerMembers

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

MaxSharedSurfaceCount

Ottenere il numero massimo di condivisi Surface supportati.

MirrorMode

Ottenere la modalità di mirroring corrente oppure impostare la modalità di mirroring per questa destinazione di output

PeerReference

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
ReadoutTimestampEnabled

Indica se il timestamp di lettura viene usato per questo outputConfiguration. -oppure- Usare il tempo di lettura del sensore della fotocamera per il timestamp dell'immagine.

StreamUseCase

Ottenere il caso d'uso del flusso corrente - oppure - Impostare il caso d'uso del flusso per questo OutputConfiguration

Surface

Ottiene l'oggetto associato all'oggetto Surface OutputConfiguration.

SurfaceGroupId

Ottiene l'ID del gruppo di superficie associato a questo OutputConfigurationoggetto .

Surfaces

Ottiene l'elenco non modificabile di superfici associate a questo OutputConfigurationoggetto .

ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)
ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)
TimestampBase

Ottenere la base timestamp corrente oppure impostare la base timestamp per questa destinazione di output

Metodi

AddSensorPixelModeUsed(Int32)

Aggiungere una modalità pixel del sensore in cui verrà usato outputConfiguration.

AddSurface(Surface)

Aggiungere una superficie a questo OutputConfiguration.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader)

Creare un elenco di OutputConfiguration istanze per gli output usati da un oggetto android.hardware.camera2.MultiResolutionImageReader.

DescribeContents()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

Dispose()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
Dispose(Boolean)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
EnableSurfaceSharing()

Abilitare più superfici che condividono lo stesso OutputConfiguration

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
RemoveSensorPixelModeUsed(Int32)

Rimuovere una modalità pixel del sensore, aggiunta in precedenza tramite addSensorPixelModeUsed, da questa OutputConfiguration.

RemoveSurface(Surface)

Rimuovere una superficie da questa outputConfiguration.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPhysicalCameraId(String)

Impostare l'ID della fotocamera fisica per questo outputConfiguration

ToArray<T>()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.Finalized()

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

GetJniTypeName(IJavaPeerable)

Classe per descrivere l'output della fotocamera, che contiene una Surface e la configurazione specifica per la creazione di una sessione di acquisizione.

Si applica a