Aperçu de la vidéo
[MFPlay peut être utilisé dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. ]
Cette rubrique explique comment utiliser MFPlay pour afficher un aperçu de la vidéo d’une caméra vidéo.
MFPlay fournit la manière la plus simple de Microsoft Media Foundation pour afficher un aperçu de la vidéo à partir d’un appareil de capture. Vous devez utiliser MFPlay si les conditions suivantes sont vraies :
- Vous n’avez pas besoin de capturer la vidéo dans un fichier.
- Vous n’avez pas besoin d’un contrôle affiné sur la façon dont la vidéo est rendue. (Par exemple, vous n’avez pas besoin de contrôler la création du périphérique Direct3D.)
- Vous n’avez pas besoin de traiter les données vidéo de l’appareil photo avant le rendu.
Dans le cas contraire, le lecteur source peut être une meilleure option.
Pour utiliser MFPlay avec un périphérique de capture vidéo, procédez comme suit :
- Créez une source de média pour l’appareil de capture. Consultez énumération des périphériques de capture vidéo.
- Appelez MFPCreateMediaPlayer pour créer une instance de l’objet Player.
- Appelez la méthode IMFPMediaPlayer :: CreateMediaItemFromObject . Transmettez un pointeur vers l’interface IMFMediaSource de la source du média. La méthode reçoit un pointeur vers l’interface IMFPMediaItem .
- Appelez IMFPMediaPlayer :: SetMediaItem.
- Appelez IMFPMediaPlayer ::P poser pour commencer l’aperçu.
Le code suivant illustre ces étapes :
IMFPMediaItem *pItem = NULL;
if (SUCCEEDED(hr))
{
hr = MFPCreateMediaPlayer(
NULL, // URL.
FALSE, // Do not start playback yet.
0, // Option flags.
NULL, // Callback interface.
hwnd,
&g_pPlayer
);
}
if (SUCCEEDED(hr))
{
hr = g_pPlayer->CreateMediaItemFromObject(
g_pSource,
TRUE, // Blocking call.
0, // User data.
&pItem
);
}
if (SUCCEEDED(hr))
{
hr = g_pPlayer->SetMediaItem(pItem);
}
if (SUCCEEDED(hr))
{
hr = g_pPlayer->Play();
}
SafeRelease(&pItem);
Dans une application classique, vous devez fournir un pointeur vers une interface de rappel dans la fonction MFPCreateMediaPlayer et utiliser l’interface de rappel pour obtenir des événements à partir du lecteur. Par souci de simplicité, le code présenté ici ignore ces étapes. Pour plus d’informations, consultez prise en main avec MFPlay.
Arrêt en cours
Avant de quitter l’application, arrêtez la source du média et l’objet lecteur comme suit :
- Appelez IMFMediaSource :: Shutdown sur la source du média.
- Appelez IMFPMediaPlayer :: Shutdown sur l’objet Player.
if (g_pSource)
{
g_pSource->Shutdown();
g_pSource->Release();
g_pSource = NULL;
}
if (g_pPlayer)
{
g_pPlayer->Shutdown();
g_pPlayer->Release();
g_pPlayer = NULL;
}
Configuration requise
MFPlay requiert Windows 7.