Interface IMFSample (mfobjects.h)

Représente un exemple de média, qui est un objet conteneur pour les données multimédias. Pour la vidéo, un exemple contient généralement une image vidéo. Pour les données audio, un exemple contient généralement plusieurs exemples audio, plutôt qu’un seul exemple d’audio.

Un exemple de média contient zéro ou plusieurs mémoires tampons. Chaque mémoire tampon gère un bloc de mémoire et est représentée par l’interface IMFMediaBuffer . Un exemple peut avoir plusieurs mémoires tampons. Les mémoires tampons sont conservées dans une liste triée et accessibles par valeur d’index. Il est également valide d’avoir un exemple vide sans mémoire tampon.

Héritage

L’interface IMFSample hérite de IMFAttributes. IMFSample compte également les types de membres suivants :

Méthodes

L’interface IMFSample utilise ces méthodes.

 
IMFSample ::AddBuffer

Ajoute une mémoire tampon à la fin de la liste des mémoires tampons de l’exemple.
IMFSample ::ConvertToContiguousBuffer

Convertit un exemple avec plusieurs mémoires tampons en un exemple avec une seule mémoire tampon.
IMFSample ::CopyToBuffer

Copie les exemples de données dans une mémoire tampon. Cette méthode concatène les données valides de toutes les mémoires tampons de l’exemple, dans l’ordre.
IMFSample ::GetBufferByIndex

Obtient une mémoire tampon à partir de l’exemple, par index.
IMFSample ::GetBufferCount

Récupère le nombre de mémoires tampons dans l’exemple.
IMFSample ::GetSampleDuration

Récupère la durée de l’exemple.
IMFSample ::GetSampleFlags

Récupère les indicateurs associés à l’exemple. Actuellement, aucun indicateur n’est défini.
IMFSample ::GetSampleTime

Récupère l’heure de présentation de l’exemple.
IMFSample ::GetTotalLength

Récupère la longueur totale des données valides dans toutes les mémoires tampons de l’exemple. La longueur est calculée comme la somme des valeurs récupérées par la méthode IMFMediaBuffer ::GetCurrentLength.
IMFSample ::RemoveAllBuffers

Supprime toutes les mémoires tampons de l’exemple.
IMFSample ::RemoveBufferByIndex

Supprime une mémoire tampon au niveau d’un index spécifié de l’exemple.
IMFSample ::SetSampleDuration

Définit la durée de l’exemple.
IMFSample ::SetSampleFlags

Définit les indicateurs associés à l’exemple. Actuellement, aucun indicateur n’est défini.
IMFSample ::SetSampleTime

Définit l’heure de présentation de l’exemple.

Remarques

Pour créer un exemple de média, appelez MFCreateSample.

Remarque  

Lorsque vous appelez CopyAllItems, hérité de l’interface IMFAttributes , sur un IMFSample, l’heure, la durée et les indicateurs de l’exemple ne sont pas copiés dans l’exemple de destination. Vous devez copier ces valeurs dans le nouvel exemple manuellement.

 
Cette interface est disponible sur les plateformes suivantes si les composants redistribuables du SDK Windows Media Format 11 sont installés :
  • Windows XP avec Service Pack 2 (SP2) et versions ultérieures.
  • Windows XP Media Center Edition 2005 avec KB900325 (Windows XP Media Center Edition 2005) et KB925766 (correctif cumulatif d’octobre 2006 pour Windows XP Édition Media Center) installés.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfobjects.h (inclure Mfidl.h)

Voir aussi

IMFAttributes

Interfaces Media Foundation

Exemples multimédias

Exemples d’attributs