Share via


Cómo reproducir archivos multimedia con Media Foundation

En este tutorial se muestra cómo reproducir archivos multimedia mediante el objeto Sesión multimedia.

Requisitos previos

Antes de leer este tema, debe estar familiarizado con los siguientes conceptos de Media Foundation:

Nota

En este tema no se describe cómo reproducir archivos protegidos por administración de derechos digitales (DRM). Para obtener información sobre DRM en Microsoft Media Foundation, vea Cómo reproducir archivos multimedia protegidos.

 

Información general

Los objetos siguientes se usan para reproducir un archivo multimedia con la sesión multimedia:

  • Un origen multimedia es un objeto que analiza un archivo multimedia u otro origen de datos multimedia. El origen multimedia crea objetos de secuencia para cada secuencia de audio o vídeo del archivo. Los descodificadores convierten los datos multimedia codificados en vídeo y audio sin comprimir.
  • El Solucionador de origen crea un origen multimedia a partir de una dirección URL.
  • El representador de vídeo mejorado (EVR) representa el vídeo en la pantalla.
  • El representador de audio de streaming (SAR) representa el audio en un altavoz u otro dispositivo de salida de audio.
  • Una topología define el flujo de datos del origen multimedia al EVR y sar.
  • La sesión multimedia controla el flujo de datos y envía eventos de estado a la aplicación. En el siguiente diagrama se muestra este proceso.

diagram showing playback using the media session

A continuación se muestra un esquema general de los pasos necesarios para reproducir un archivo multimedia mediante la sesión multimedia:

  1. Llame a la función MFStartup para inicializar la plataforma de Media Foundation.

  2. Llame a MFCreateMediaSession para crear una nueva instancia de la sesión multimedia.

  3. Use la resolución de origen para crear un origen multimedia. Para obtener más información, consulte Uso del solucionador de origen.

  4. Cree una topología que conecte el origen multimedia al EVR y sar. En este paso, la aplicación crea una topología parcial que no incluye los descodificadores. Para obtener más información, vea Crear topologías de reproducción.

  5. Llame a IMFMediaSession::SetTopology para establecer la topología en la sesión multimedia.

  6. Use la interfaz IMFMediaEventGenerator para obtener eventos de la sesión multimedia.

  7. Llame a IMFMediaSession::Start para iniciar la reproducción. Una vez iniciada la reproducción, puedes pausarla llamando a IMFMediaSession::P ause o detenerla llamando a IMFMediaSession::Stop.

  8. Cuando se cierre la aplicación, libere los recursos:

    1. Llame a IMFMediaSession::Close para cerrar la sesión multimedia. Este método es asincrónico. Cuando se completa, la sesión multimedia envía un evento MESessionClosed . A continuación, es seguro realizar los pasos restantes.
    2. Llame a IMFMediaSource::Shutdown para apagar el origen multimedia.
    3. Llame a IMFMediaSession::Shutdown para apagar la sesión multimedia.
    4. Llame a MFShutdown para apagar la plataforma de Media Foundation.

En las secciones siguientes se muestra un ejemplo de código completo:

Sesión multimedia

Reproducción de audio y vídeo