C#winform小型本地自定义播放器 插入视频播放控件与简单运用(Windows Media Player)


在winform的设计中调出控件(Windows Media Player)

1.在工具箱中右击空白处 选择选项:选择项

调出控件步骤

 2.点击上方栏目的COM 下滑找到Windows Media Player控件 在左边的复选框中勾上 然后确定 

调出控件Windows Media Player步骤

 3.以后就能在工具箱中找到这个控件了(Windows Media Player)

控件出现在工具箱里了!

摆设控件

建议将属性里的Dock属性(绑定到容器边框)设置为fill绑定到中心 这样不管窗口如何缩放 视频控件依然能处于中心(视频控件做该窗口的大主体情况下)  但视频是不会被缩放比例的 无需担心

视频播放控件随着窗口自适应位置

本地的视频播放

通过this axWindowsMediaPlayer1 的属性URL来确定要播放的视频文件路径指定 然后调用播放器进行播放该变量属性对应的路径文件


this.axWindowsMediaPlayer1.URL ="D/:路径/视频路径";//设置选中文件的路径为播放路径

this.axWindowsMediaPlayer1.Ctlcontrols.play();//播放

不过只通过这样的话是写死的 运行程序的时候就只能播放原定写好路径的视频的 可以通过写一个打开文件的类 来灵活的对控件WindowsMediaPlayer的url属性进行更改替换 以便达到灵活的播放本地视频文件

写一个按钮点击事件

我个人在这用的是导航栏按钮 比较美观好用

打开按钮
private void dk_Click_1(object sender, EventArgs e)
{
    OpenFileDialog filename = new OpenFileDialog(); //定义打开文件
    filename.InitialDirectory = "D:"; //初始路径,这里设置的是程序的起始位置,可自由设置
    filename.Filter = "|*.mp4";//设置打开类型,设置个*.*和*.txt就行了
    filename.ShowDialog();//调用 打开文件
    this.axWindowsMediaPlayer1.URL = filename.FileName.ToString();//设置选中文件的路径为播放路径
    this.axWindowsMediaPlayer1.Ctlcontrols.play();//播放
    this.xx1.SelectedText ="正在播放:"+filename.SafeFileName;

}

对于打开文件这个类的一些基础相关用法 进行filename的一些常规属性设置

将选中文件路径赋值给播放器的url路径

对播放器的小处理

可以单独写个播放按钮 在未选定视频播放链接时弹出提示 并且打开文件 这里我写在了右键任务栏图标中

右键任务栏图标菜单

 

 

 

播放错误 

判断播放路径是否为空

 

提示之后调用打开文件的事件函数 

private void 播放ToolStripMenuItem_Click(object sender, EventArgs e)
{
    if(this.axWindowsMediaPlayer1.URL !="")
    this.axWindowsMediaPlayer1.Ctlcontrols.play();
    else
    {
        MessageBox.Show("您还未打开文件哦");
        dk_Click_1(sender, e);
    }

}

 右键菜单栏其它点击事件

就是写写简单的调用与关闭

        private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
            
        }
        private void 打开ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            dk_Click_1(sender, e);
        }

默认播放列表

可以写一些默认的播放列表 但连同视频打包的话要记得写的是相对路径而不是绝对路径(要记得把视频文件和程序一起打包 不过不建议这么做)

        private void 夜兰中记ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWindowsMediaPlayer1.URL = @"D:\原H\Yelan EX 【CN】.mp4";
            this.axWindowsMediaPlayer1.Ctlcontrols.play();
            this.xx1.SelectedText = "正在播放:" + "叶兰中记";
        }

        private void 优菈酒馆ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWindowsMediaPlayer1.URL = @"D:\原H\原神 优菈酒馆\「国创同人」「AKT」EX 原神 优菈酒馆.mp4";
            this.axWindowsMediaPlayer1.Ctlcontrols.play();
            this.xx1.SelectedText = "正在播放:" + "尤菈";
        }

大致就是写点击按钮后 把对应写死的文件路径赋值给播放器的url路径 从而达到拥有一个默认播放列表的效果 还可以加上标题

总结(附源码)

在winform中使用这个视频控件Windows Media Player大致是在窗体应用中达到最简单实现的办法之一 简单易操作 不过也无法更改它的外观和拥有更多的可用性 总而言之需要进行简单的视频播放实现 这个自带的Windows Media Player的控件实现效果大致足够了 最后附上一下这个窗口的源码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace WindowsFcg
{
    public partial class Form4 : Form
    {

        public Form4()
        {
            InitializeComponent();
        }

        private void Form4_Load(object sender, EventArgs e)
        {

        }

        private void Form4_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
        private void 夜兰中记ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWindowsMediaPlayer1.URL = @"D:\原H\Yelan EX 【CN】.mp4";
            this.axWindowsMediaPlayer1.Ctlcontrols.play();
            this.xx1.SelectedText = "正在播放:" + "叶兰中记";
        }

        private void 优菈酒馆ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.axWindowsMediaPlayer1.URL = @"D:\原H\原神 优菈酒馆\「国创同人」「AKT」EX 原神 优菈酒馆.mp4";
            this.axWindowsMediaPlayer1.Ctlcontrols.play();
            this.xx1.SelectedText = "正在播放:" + "尤菈";
        }

        private void dk_Click_1(object sender, EventArgs e)
        {
            OpenFileDialog filename = new OpenFileDialog(); //定义打开文件
            filename.InitialDirectory = "D:"; //初始路径,这里设置的是程序的起始位置,可自由设置
            filename.Filter = "|*.mp4";//设置打开类型,设置个*.*和*.txt就行了
            filename.ShowDialog();//调用 打开文件
            this.axWindowsMediaPlayer1.URL = filename.FileName.ToString();//设置选中文件的路径为播放路径
            this.axWindowsMediaPlayer1.Ctlcontrols.play();//播放
            this.xx1.SelectedText ="正在播放:"+filename.SafeFileName;

        }
        private void 播放ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if(this.axWindowsMediaPlayer1.URL !="")
            this.axWindowsMediaPlayer1.Ctlcontrols.play();
            else
            {
                MessageBox.Show("您还未打开文件哦");
                dk_Click_1(sender, e);
            }

        }

        private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
            
        }
        private void 打开ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            dk_Click_1(sender, e);
        }

        private void 消息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.notifyIcon1.BalloonTipText = this.xx1.Text;

        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {

        }

        private void xx1_TextChanged(object sender, EventArgs e)
        {

        }
    }
}

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值