最近想给软件加个视频播放功能,在网上看有好几个方式,最后决定用 Windows Media Player 和Vlc.DotNet.Forms。
这篇文章主要讲Windows Media Player,它的优点:代码简单,视频操作功能都有,能播放网络和本地视频。缺点:需要电脑安装视频对应的解码器,适应性很差,只适合自己玩,不能用于正规开发。
我试了四台电脑,两台没问题,一台改了视频格式也能播放,另一台死活没画面,最后放弃这个方法。
下面是具体代码
1、添加组件
在工具箱空白处点击鼠标右键,点击“选择项”
在com组件中找到 Windows Media Player, 添加上。
下面是代码,这个代码窗体加载后会自动播放,如果有缓存会等待2秒后继续自动播放。
public partial class Form_VideoPlaying : Form
{
public Form_VideoPlaying()
{
InitializeComponent();
}
private void Form_VideoPlaying_Load(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.URL = "http://www.XXXXX.com/video/20240111155329.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer1.stretchToFit = true; // 自动缩放屏幕
}
private void Form_VideoPlaying_FormClosed(object sender, FormClosedEventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
axWindowsMediaPlayer1.Dispose();
}
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
// 视频加载时候,等待2秒后,重新播放
if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsBuffering)
{
Thread.Sleep(2000);
axWindowsMediaPlayer1.Ctlcontrols.play();
}
}
}