Méthode IMFPMediaPlayer::CreateMediaItemFromURL (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’une URL.

Syntaxe

HRESULT CreateMediaItemFromURL(
  [in]  LPCWSTR       pwszURL,
  [in]  BOOL          fSync,
  [in]  DWORD_PTR     dwUserData,
  [out] IMFPMediaItem **ppMediaItem
);

Paramètres

[in] pwszURL

Chaîne terminée par null qui contient l’URL d’un fichier multimédia.

[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 avoir la valeur 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.
MF_E_UNSUPPORTED_SCHEME
Protocole non pris en charge.

Notes

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

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

  • Si fSync a la valeur TRUE, la méthode s’exécute 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 de lecteur MFPlay. Si vous ne fournissez pas d’interface de rappel, le paramètre fSync doit être TRUE. Sinon, CreateMediaItemFromURL retourne MF_E_INVALIDREQUEST.

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

Actuellement, cette méthode retourne MF_E_UNSUPPORTED_SCHEME si l’URL spécifie l’un des protocoles suivants : rtsp*, mms* ou mcast. Si vous souhaitez utiliser la source réseau Media Foundation avec MFPlay, commencez par utiliser source Resolver pour créer la source, puis appelez IMFPMediaPlayer::CreateMediaItemFromObject.

Configuration de la source

En interne, cette méthode crée une source multimédia. Pour configurer la source multimédia, procédez comme suit :
  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 CreateMediaItemFromURL pour créer l’élément multimédia.

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