MultiSourceMediaFrameReader.TryAcquireLatestFrame Méthode

Définition

Tente d’obtenir un objet MultiSourceMediaFrameReference qui fournit l’accès aux dernières images corrélées dans le temps à partir d’un ou de plusieurs objets MediaFrameSource .

public:
 virtual MultiSourceMediaFrameReference ^ TryAcquireLatestFrame() = TryAcquireLatestFrame;
MultiSourceMediaFrameReference TryAcquireLatestFrame();
public MultiSourceMediaFrameReference TryAcquireLatestFrame();
function tryAcquireLatestFrame()
Public Function TryAcquireLatestFrame () As MultiSourceMediaFrameReference

Retours

MultiSourceMediaFrameReference fournissant l’accès aux images les plus récentes à partir des sources de trames multimédias.

Remarques

Après avoir obtenu une instance de MultiSourceMediaFrameReference, obtenez l’image multimédia corrélée dans le temps à partir d’une source d’image multimédia particulière en appelant MultiSourceMediaFrameReference.TryGetFrameReferenceBySourceId et en transmettant la valeur de la propriété MediaFrameSourceInfo.Id pour la source de trame multimédia souhaitée.

Chaque MultiSourceMediaFrameReader conserve une mémoire tampon circulaire d’objets MediaFrameReference obtenus à partir de TryAcquireLatestFrame. Une fois que tous les objets MediaFrameReference de la mémoire tampon ont été utilisés, les appels suivants à TryAcquireLatestFrame entraînent l’appel du système à Fermer (ou Supprimer en C#) sur l’objet tampon le plus ancien afin de le réutiliser. Une fois l’objet supprimé, vous ne pouvez plus l’utiliser pour accéder aux données de trame. Pour cette raison, vous ne devez pas stocker l’objet MediaFrameReference plus longtemps que nécessaire pour traiter le frame. Si votre scénario d’application vous oblige à conserver une référence aux données plus longtemps, vous devez utiliser l’une des API fournies pour obtenir les données sous-jacentes. Ces méthodes incluent les tâches suivantes :

Important

Si vous accédez aux objets SoftwareBitmap ou Direct3DSurface fournis par la propriété VideoMediaFrame d’un MediaFrameReference, le système crée une référence forte à ces objets. Autrement dit, ils ne sont pas supprimés lorsque vous appelez Dispose sur le conteneur MediaFrameReference. Vous devez appeler la méthode Dispose de SoftwareBitmap ou de Direct3DSurface explicitement et directement pour les objets à supprimer immédiatement. Sinon, le récupérateur de mémoire va libérer de la mémoire pour ces objets. Mais vous ne pouvez pas savoir quand cela se produit, et si le nombre de surfaces ou d’images bitmap allouées dépasse la quantité maximale autorisée par le système, le flux de nouvelles images s’arrête.

S’applique à

Voir aussi