2010-01-24 17 views
5

Me gusta reproducir archivos de video, como AVI, a través de mi programa C#. ¿Es posible reproducir archivos de video como ese?¿Cómo puedo reproducir archivos de video?

+1

archivos de vídeo ¿Qué? Debes ser mucho más específico. ¿Qué formato? ¿Qué tipo de contenedor? – Cromulent

+0

Cualquiera del formato de video – ratty

+0

Soportar todos los formatos de video es complicado en Windows, debido al soporte dudoso para todos los códecs, y los archivos MPEG pueden ser difíciles a veces. – Kazar

Respuesta

10

Debe poder utilizar el control del Media Player para reproducir archivos multimedia.

Ejemplo de reproducir audio de http://msdn.microsoft.com/en-us/library/dd562692(VS.85).aspx, usted debe ser capaz de adaptarlo a vídeo:

// [ C# ] 
WMPLib.WindowsMediaPlayer Player; 

private void PlayFile(String url) 
{ 
    Player = new WMPLib.WindowsMediaPlayer(); 
    Player.PlayStateChange += 
     new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(Player_PlayStateChange); 
    Player.MediaError += 
     new WMPLib._WMPOCXEvents_MediaErrorEventHandler(Player_MediaError); 
    Player.URL = url; 
    Player.controls.play(); 
} 

private void Form1_Load(object sender, System.EventArgs e) 
{ 
    // TODO Insert a valid path in the line below. 
    PlayFile(@"c:\myaudio.wma"); 
} 

private void Player_PlayStateChange(int NewState) 
{ 
    if ((WMPLib.WMPPlayState)NewState == WMPLib.WMPPlayState.wmppsStopped) 
    { 
     this.Close(); 
    } 
} 

private void Player_MediaError(object pMediaObject) 
{ 
    MessageBox.Show("Cannot play media file."); 
    this.Close(); 
} 

Hay un poco más información disponible en MSDN en http://msdn.microsoft.com/en-us/library/dd564582(VS.85).aspx

+0

debe agregar un controlador de Windows Media Player al formulario. Aquí se desactivó http://www.c-sharpcorner.com/UploadFile/e628d9/playing-audio-and-video-files-using-C-Sharp/ Y que utilizar este código. – matasoy

2

Es posible considerar el uso del audio/vídeo controles en DirectX gestiona como una solución rápida:

http://msdn.microsoft.com/en-us/library/bb324497%28VS.85%29.aspx#dx_avp_playing_a_video_file

Si necesita más control sobre el video o una mejor integración con su aplicación, puede usar DirectShow. Hay una buena biblioteca de interoperabilidad de C# para acceder a ella (DirectShowLib).

Otra ventaja del uso de DirectShow es que Windows se encargará de cargar los códecs necesarios y los componentes de representación necesarios para un tipo de medio determinado.

Cuestiones relacionadas