Utilisation de Windows Media avec les services d’édition directshow
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
[Cette API n’est pas prise en charge et peut être modifiée ou indisponible à l’avenir.]
Cette section explique comment utiliser du contenu Windows Media dans une application DirectShow Editing Services (DES). Il existe deux scénarios main :
- Clips sources. Un projet DES peut contenir des clips audio et vidéo à partir de fichiers Windows Media.
- Format cible. Windows Media est un format idéal pour la sortie finale d’un projet d’édition vidéo.
Pour utiliser des fichiers Windows Media, l’application doit fournir un certificat logiciel, également appelé clé. Pour ce faire, il implémente un objet de fournisseur de clés. Le fournisseur de clés est un objet COM qui expose l’interface IServiceProvider . Pour plus d’informations sur l’implémentation du fournisseur de clés, consultez Déverrouillage du Kit de développement logiciel (SDK) au format Windows Media.
Pour utiliser DES avec des fichiers Windows Media, les objets DES suivants nécessitent la clé logicielle :
Moteur de rendu, pour l’aperçu ou l’écriture de fichiers.
Objet MediaDet pour obtenir des images vidéo ou des types de médias à partir de fichiers ASF.
![Important]
N’utilisez pas le moteur de rendu intelligent pour lire ou écrire des fichiers Windows Media. Utilisez toujours le moteur de rendu de base (CLSID_RenderEngine).
Pour attribuer la clé logicielle à un objet, interrogez cet objet pour l’interface IObjectWithSite et appelez IObjectWithSite::SetSite avec un pointeur vers votre fournisseur de clé. Par exemple, le code suivant fournit la clé logicielle au moteur de rendu :
// Create your key provider, using an application-defined function:
IServiceProvider *pKey;
hr = MyCreateKeyProviderFunction(&pKey);
// Query the Render Engine for IObjectWithSite.
IObjectWithSite *pOWS;
hr = pRenderEngine->QueryInterface(__uuidof(IObjectWithSite),
reinterpret_cast<void**>(&pOWS));
if (SUCCEEDED(hr))
{
// Give it your key provider.
hr = pOWS->SetSite(pKey);
pOWS->Release();
}
pKey->Release();
Pour utiliser des clips sources Windows Media dans un projet DES, appelez simplement IObjectWithSite::SetSite sur le moteur de rendu avec un pointeur vers votre fournisseur de clé.
Pour plus d’informations sur l’écriture de fichiers Windows Media, consultez Écriture d’un fichier Windows Media dans DES.
Rubriques connexes