如何播放视频文件?

11

我喜欢通过我的C#程序播放视频文件,例如AVIs。是否有可能像这样播放视频文件呢?


2
什么视频文件?你需要更具体一些。是什么格式?使用哪种容器类型? - Cromulent
在Windows上支持所有视频格式有些棘手,因为并不是所有编解码器都能得到良好的支持,而且MPEG文件有时也会出现问题。 - Alistair Evans
3个回答

12

你应该能够使用媒体播放器控件来播放媒体文件。

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


1
你应该向表单中添加一个Windows Media Player控制器。详见http://www.c-sharpcorner.com/UploadFile/e628d9/playing-audio-and-video-files-using-C-Sharp/ 然后使用以下代码。 - matasoy

4

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接