• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#利用微软DirectX做的视频播放器

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
C#利用微软DirectX做的视频播放器
2008-12-07 11:11
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX.AudioVideoPlayback;
namespace playVideoProject
{
    public partial class Form1 : Form
    {
        private Video myvideo = null;
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            openFile.InitialDirectory=Application.StartupPath;//获取对话框显示时的初始目录
            if (openFile.ShowDialog() == DialogResult.OK)
            {
                // 记录panel组件的大小
                int height = panel1.Height;
                int width = panel1.Width;
                // 如果存在打开的Video文件,释放它
                if (myvideo != null)
                {
                    myvideo.Dispose();
                }
                // 打开一个新的Video文件
                myvideo = new Video(openFile.FileName);
                // 把Video文件分配给创建的Panel组件
                myvideo.Owner = panel1;
                // 以记录的panel组件的大小来重新定义
                panel1.Width = width;
                panel1.Height = height;
                // 播放AVI文件的第一帧,主要是为了在panel中显示
                myvideo.Play();
                myvideo.Pause();
            }
            //确定窗体中的各按钮状态
            if (myvideo == null)
            {
                button2.Enabled = false;
                button3.Enabled = false;
                button4.Enabled = false;
            }
            else
            {
                button2.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (myvideo != null)
            {
                myvideo.Pause();
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (myvideo != null)
            {
                myvideo.Play();
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            if (myvideo == null)
            {
                button2.Enabled = false;
                button3.Enabled = false;
                button4.Enabled = false;
            }
            else
            {
                button2.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
            }
        }
        private void button4_Click(object sender, EventArgs e)
        {
            if (myvideo != null)
            {
                myvideo.Stop();
            }
        }
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
        }
    }
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#开发文字识别软件发布时间:2022-07-18
下一篇:
C#之Linq、where()、FindAll()的区别发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap