OutputConfiguration Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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(Size, Class) |
Creare una nuova |
| OutputConfiguration(Surface) |
Creare una nuova |
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 |
| TimestampBaseRealtime |
Obsoleti.
Timestamp base approssimativamente uguale |
| TimestampBaseSensor |
Obsoleti.
Base timestamp di |
Proprietà
| Class |
Restituisce la classe di runtime di questo |
| Creator |
Classe per descrivere l'output della fotocamera, che contiene una |
| 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 |
| JniPeerMembers |
Classe per descrivere l'output della fotocamera, che contiene una |
| MaxSharedSurfaceCount |
Ottenere il numero massimo di condivisi |
| 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 |
| 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 |
| SurfaceGroupId |
Ottiene l'ID del gruppo di superficie associato a questo |
| Surfaces |
Ottiene l'elenco non modificabile di superfici associate a questo |
| 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 |
| DescribeContents() |
Classe per descrivere l'output della fotocamera, che contiene una |
| Dispose() |
Classe per descrivere l'output della fotocamera, che contiene una |
| Dispose(Boolean) |
Classe per descrivere l'output della fotocamera, che contiene una |
| 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 |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
| UnregisterFromRuntime() |
Classe per descrivere l'output della fotocamera, che contiene una |
| 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 |
Implementazioni dell'interfaccia esplicita
| IJavaPeerable.Disposed() |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.DisposeUnlessReferenced() |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.Finalized() |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.JniManagedPeerState |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe per descrivere l'output della fotocamera, che contiene una |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe per descrivere l'output della fotocamera, che contiene una |
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 |
| GetJniTypeName(IJavaPeerable) |
Classe per descrivere l'output della fotocamera, che contiene una |