MÉTHODE IMFPMediaPlayer::CreateMediaItemFromObject (mfplay.h)

Important Déconseillée. Cette API peut être supprimée des versions ultérieures de Windows. Les applications doivent utiliser la session multimédia pour la lecture.
 

Crée un élément multimédia à partir d’un objet .

Syntaxe

HRESULT CreateMediaItemFromObject(
  [in]  IUnknown      *pIUnknownObj,
  [in]  BOOL          fSync,
  [in]  DWORD_PTR     dwUserData,
  [out] IMFPMediaItem **ppMediaItem
);

Paramètres

[in] pIUnknownObj

Pointeur vers l’interface IUnknown de l’objet. Consultez la section Notes.

[in] fSync

Si la valeur est TRUE, la méthode se bloque jusqu’à ce qu’elle se termine. Si la valeur est FALSE, la méthode ne bloque pas et se termine de manière asynchrone.

[in] dwUserData

Valeur définie par l’application à stocker dans l’élément multimédia. Pour récupérer cette valeur à partir de l’élément multimédia, appelez IMFPMediaItem::GetUserData.

[out] ppMediaItem

Reçoit un pointeur vers l’interface IMFPMediaItem . L’appelant doit libérer l’interface. Si fSync a la valeur TRUE, ce paramètre doit être un pointeur valide. Si bSync a la valeur FALSE, ce paramètre doit être NULL.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
Argument non valide.
MF_E_INVALIDREQUEST
Demande non valide. Cette erreur peut se produire lorsque fSync a la valeur FALSE et que l’application n’a pas fourni d’interface de rappel. Consultez la section Notes.
MF_E_SHUTDOWN
La méthode Shutdown de l’objet a été appelée.

Notes

Le paramètre pIUnknownObj doit spécifier l’un des éléments suivants :

Cette méthode ne met pas en file d’attente l’élément multimédia pour lecture. Pour mettre l’élément en file d’attente pour lecture, appelez IMFPMediaPlayer::SetMediaItem.

La méthode CreateMediaItemFromObject peut être appelée de manière synchrone ou asynchrone :

  • Si fSync a la valeur TRUE, la méthode se termine de manière synchrone. Le pointeur IMFPMediaItem est retourné dans le paramètre ppMediaItem .
  • Si fSync a la valeur FALSE, la méthode se termine de manière asynchrone. Une fois l’opération terminée, la méthode de rappel IMFPMediaPlayerCallback::OnMediaPlayerEvent de l’application est appelée. Le type d’événement est MFP_EVENT_TYPE_MEDIAITEM_CREATED. Les données d’événement contiennent le pointeur IMFPMediaItem pour le nouvel élément multimédia.
L’interface de rappel est définie lorsque vous appelez MFPCreateMediaPlayer pour créer l’objet lecteur MFPlay. Si vous ne fournissez pas d’interface de rappel, le paramètre fSync doit avoir la valeur TRUE. Sinon, CreateMediaItemFromObject retourne MF_E_INVALIDREQUEST.

Si vous effectuez plusieurs appels asynchrones à CreateMediaItemFromObject, il n’est pas garanti qu’ils se terminent dans le même ordre. Utilisez le paramètre dwUserData pour mettre en correspondance les éléments multimédias créés avec les demandes en attente.

Configuration de la source

Si pIUnknownObj pointe vers un flux d’octets, vous pouvez configurer la source multimédia en effectuant les étapes suivantes :
  1. Appelez QueryInterface sur le pointeur IMFPMediaPlayer pour obtenir l’interface IPropertyStore .
  2. Appelez IPropertyStore::SetValue pour définir les propriétés de la source multimédia. Pour obtenir la liste des propriétés de configuration, consultez Configuration d’une source multimédia. Des sources multimédias tierces peuvent définir des propriétés personnalisées.
  3. Appelez la méthode CreateMediaItemFromObject pour créer l’élément multimédia.
Si pIUnknownObj pointe vers une source multimédia, vous pouvez configurer la source au moment où vous la créez.

Spécifications

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfplay.h

Voir aussi

IMFPMediaPlayer

Utilisation de MFPlay pour la lecture audio/vidéo