Étape 4 : Créer la session multimédia
Cette rubrique est l’étape 4 du didacticiel Guide pratique pour lire des fichiers multimédias avec Media Foundation. Le code complet est illustré dans la rubrique Exemple de lecture de session multimédia.
CPlayer::CreateSession
crée une instance de la session multimédia.
// Create a new instance of the media session.
HRESULT CPlayer::CreateSession()
{
// Close the old session, if any.
HRESULT hr = CloseSession();
if (FAILED(hr))
{
goto done;
}
assert(m_state == Closed);
// Create the media session.
hr = MFCreateMediaSession(NULL, &m_pSession);
if (FAILED(hr))
{
goto done;
}
// Start pulling events from the media session
hr = m_pSession->BeginGetEvent((IMFAsyncCallback*)this, NULL);
if (FAILED(hr))
{
goto done;
}
m_state = Ready;
done:
return hr;
}
Cette méthode effectue les étapes suivantes :
- Appelle
CPlayer::CloseSession
pour fermer n’importe quelle instance précédente de la session multimédia. - Appelle MFCreateMediaSession pour créer une instance de la session multimédia.
- Appelle la méthode IMFMediaEventGenerator::BeginGetEvent pour demander l’événement suivant à partir de la session multimédia. Le premier paramètre de BeginGetEvent est un pointeur vers l’objet CPlayer même, qui implémente l’interface IMFAsyncCallback.
La gestion des événements est décrite à l’étape 5.
Suivant : Étape 5 : Gérer les événements de session multimédia
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour