MultiSourceMediaFrameReader.TryAcquireLatestFrame Metodo
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.
Tenta di ottenere un oggetto MultiSourceMediaFrameReference che fornisce l'accesso ai fotogrammi correlati all'ora più recenti da uno o più oggetti MediaFrameSource .
public:
virtual MultiSourceMediaFrameReference ^ TryAcquireLatestFrame() = TryAcquireLatestFrame;
MultiSourceMediaFrameReference TryAcquireLatestFrame();
public MultiSourceMediaFrameReference TryAcquireLatestFrame();
function tryAcquireLatestFrame()
Public Function TryAcquireLatestFrame () As MultiSourceMediaFrameReference
Restituisce
MultiSourceMediaFrameReference che fornisce l'accesso ai fotogrammi più recenti dalle origini del frame multimediale.
Commenti
Dopo aver ottenuto un'istanza di MultiSourceMediaFrameReference, ottenere il frame multimediale correlato al tempo da un'origine fotogramma multimediale specifica chiamando MultiSourceMediaFrameReference.TryGetFrameReferenceBySourceId e passando il valore della proprietà MediaFrameSourceInfo.Id per l'origine fotogramma multimediale desiderata.
Ogni MultiSourceMediaFrameReader gestisce un buffer circolare di oggetti MediaFrameReference ottenuti da TryAcquireLatestFrame. Dopo aver usato tutti gli oggetti MediaFrameReference nel buffer, le chiamate successive a TryAcquireLatestFrame causano la chiamata del sistema a Close (o Dispose in C#) nell'oggetto buffer meno recente per riutilizzarlo. Dopo aver eliminato l'oggetto, non è più possibile usarlo per accedere ai dati del frame. Per questo motivo, non è consigliabile archiviare l'oggetto MediaFrameReference più lungo di quanto sia effettivamente necessario elaborare il frame. Se lo scenario dell'app richiede di mantenere un riferimento ai dati per più tempo, è consigliabile usare una delle API fornite per ottenere i dati sottostanti. Questi metodi includono:
- BufferMediaFrame.Buffer
- VideoMediaFrame.SoftwareBitmap
- VideoMediaFrame.GetVideoFrame
- VideoMediaFrame.CameraIntrinsics È responsabilità dell'app chiamare Close (o Dispose) sugli oggetti restituiti da queste API quando non vengono più usate.
Importante
Se accedi all'oggetto SoftwareBitmap o Direct3DSurface specificato dalla proprietà VideoMediaFrame di un oggetto MediaFrameReference, il sistema crea un riferimento sicuro a questi oggetti, che di conseguenza non vengono eliminati quando chiami Dispose nell'oggetto MediaFrameReference contenitore. Devi chiamare in modo esplicito direttamente il metodo Dispose di SoftwareBitmap o Direct3DSurface perché gli oggetti vengano eliminati immediatamente. In caso contrario, Garbage Collector finirà per liberare la memoria per questi oggetti, ma non saprai quando e se il numero di bitmap o superfici allocate supera la quantità massima consentita dal sistema, il flusso di nuovi fotogrammi si arresterà.