Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Implémenté par les objets sources multimédias.
Les sources multimédias sont des objets qui génèrent des données multimédias. Par exemple, les données peuvent provenir d’un fichier vidéo, d’un flux réseau ou d’un périphérique matériel, tel qu’une caméra. Chaque source multimédia contient un ou plusieurs flux, et chaque flux fournit des données d’un type, telles que l’audio ou la vidéo.
Héritage
L’interface IMFMediaSource hérite de IMFMediaEventGenerator. IMFMediaSource dispose également de ces types de membres :
Méthodes
L’interface IMFMediaSource a ces méthodes.
|
IMFMediaSource ::CreatePresentationDescriptor Récupère une copie du descripteur de présentation de la source multimédia. Les applications utilisent le descripteur de présentation pour sélectionner des flux et obtenir des informations sur le contenu source. |
|
IMFMediaSource ::GetCharacteristics Récupère les caractéristiques de la source multimédia. |
|
IMFMediaSource ::P ause Suspend tous les flux actifs dans la source multimédia. |
|
IMFMediaSource ::Shutdown Arrête la source multimédia et libère les ressources qu’il utilise. |
|
IMFMediaSource ::Start Démarre, recherche ou redémarre la source multimédia en spécifiant où démarrer la lecture. |
|
IMFMediaSource ::Stop Arrête tous les flux actifs dans la source multimédia. |
Remarques
Dans Windows 8, cette interface est étendue avec IMFMediaSourceEx.
Pour certaines sources d’appareils, telles que les caméras ou les microphones, IMFMediaSource implémente également l’IKsControl qui peut être utilisé par les applications en mode utilisateur pour émettre des opérations KSPROPERTY, KSEVENT et KSMETHOD sur le pilote de périphérique sous-jacent.
Note
Cette interface est facultative et peut ne pas être disponible. Si cette interface n’est pas disponible, QueryInterface retourne E_NOINTERFACE.
Obtenez une instance de IMFMediaSource en appelant IMFSourceResolver ::CreateObjectFromByteStream, IMFSourceResolver ::CreateObjectFromURL ou les versions asynchrones de ces méthodes.
L’exemple suivant montre comment utiliser IMFSourceResolver pour obtenir une instance de IMFMediaSource à partir d’un IMFByteStream.
#include <wil.h>
#include <mfplat.h>
#include <mfidl.h>
HRESULT CreateMediaSourceFromStream(_In_ IMFByteStream* stream, _COM_Outptr_ IMFMediaSource** source)
{
*source = nullptr;
wil::com_ptr_nothrow<IMFSourceResolver> sourceResolver;
RETURN_IF_FAILED(MFCreateSourceResolver(&sourceResolver));
MF_OBJECT_TYPE objectType;
wil::com_ptr_nothrow<IUnknown> sourceUnknown;
RETURN_IF_FAILED(sourceResolver->CreateObjectFromByteStream(stream, nullptr, MF_RESOLUTION_MEDIASOURCE, nullptr, &objectType, &sourceUnknown));
RETURN_IF_FAILED(sourceUnknown.copy_to(IID_PPV_ARGS(source)));
return S_OK;
}
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Vista [applications de bureau | Applications UWP] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
| plateforme cible | Fenêtres |
| Header | mfidl.h |