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 |