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.
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.
- 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) |