我喜欢通过我的C#程序播放视频文件,例如AVIs。是否有可能像这样播放视频文件呢?
你应该能够使用媒体播放器控件来播放媒体文件。
从http://msdn.microsoft.com/en-us/library/dd562692(VS.85).aspx播放音频的示例,你应该能够调整它以适用于视频:
// [ 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();
}
在MSDN上可以获取更详细的信息,请访问http://msdn.microsoft.com/en-us/library/dd564582(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb324497%28VS.85%29.aspx#dx_avp_playing_a_video_file
如果您需要更多地控制视频,或更好地与应用程序集成,您可以使用DirectShow。有一个很好的C#互操作库可用于访问它(DirectShowLib)。http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/
或者
http://weblogs.asp.net/dwahlin/archive/2008/03/07/silverlight-2-0-video-tutorials.aspx