如何在C#中播放AVI短片并使背景透明

2016-02-19 15:09 13 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享如何在C#中播放AVI短片并使背景透明吧。

【 tulaoshi.com - 编程语言 】

  在C#编程的时候,由于一个功能需要播放一小段的AVI格式的短片,结果找了半天也没有搞定如何来进行播放。于是本人在网上查呀查呀!找了半天终于找到了一个方法播放文件。

  他的方式是首先用下面的命令为媒体播放器控件:msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。命令为:aximp c:winntsystem32msdxm.ocx 而通常msdxm.ocx中的ActiveX控件都未注册! 再运行regsvr32 msdxm.ocx手动注册便生成需要的动态连接库文件。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  但是我发现他所用的MediaPlayer控件是可以播放许多的媒体文件.但是并不能满足我所需要的情况。我的情况是用C#播放一小段AVI文件,并且背景要透明,而不是黑色,或其他颜色,我找了半天也不能找到什么方法可以使MediaPlayer播放的文件为透明的状态,十分郁闷!

  但是随后我发现其他用VB的程序中可以实现这个功能,让我十分的高兴,于是我又打开了VB的代码进行了详细的查看,发现在VB中有一个控件为Animation可以播放AVI文件,而且其有一个属性选项是使背景透明。正好能够满足我的需要.可是这也是一个OCX的控件,于是,我先把该控件找到,位置是:C:WINDOWSSYSTEM32COMCT32.ocx,然后我运行regsvr32进行手动注册,注册完毕以后我就在环境中进行引用,如下图:

  (但是,后来本人发现原来这个根本不用regsvr32注册,因为.NET早已经注册了,郁闷中~~~~~~~~~~~~~~)

  然后把控件拖入到窗体中,布好了局,将其属性AutoPlay设置为true,然后在代码中写入下边一句话即可:

  

private void Form1_Load(object sender, System.EventArgs e){this.axAnimation1.Open(Application.StartupPath + @"FILECOPY.AVI");}

  这样当窗体加载的时候就会自动的播放这一小段AVI文件了.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  其实,这个问题并不是很难,主要是本人对COM组件并不是特别熟悉的过.只要熟悉这些组件的功能,以及运行的原理,势必会大大的提高我们的编程的效率。

来源:http://www.tulaoshi.com/n/20160219/1609012.html

延伸阅读
在微软的.NET 的Forms窗口控件中,比如Treeview和ListView,仅仅是对通用控件的简单封装,因此他们不正常的引发Paint事件。 微软所发布内容中,能看到的唯一建议就是设置控件的ControlStyles.UserPaint类型,然后自己为控件做所有的绘图操作。 (译注:老外提供了一个TreeViewWithPaint控件类,派生自TreeView类,提供了Paint事件的挂接。...
    Director对媒体的支持不如Authorware好,不过非常庆幸的是有很多极酷的 Xtras 外部插件可以完美地解决这一问题。     其中最具代表性的恐怕就是DirectMedia了。 它可以在不安装任何其它支持软件的情况下直接播放AVI、MOV、Mpeg及多种音乐文件,效果一流。 你只需要在插入中选 Tabuleiro Xtras Direct...
    Director对媒体的支持不如Authorware好,不过非常庆幸的是有很多极酷的 Xtras 外部插件可以完美地解决这一问题。     其中最具代表性的恐怕就是DirectMedia了。 它可以在不安装任何其它支持软件的情况下直接播放AVI、MOV、Mpeg及多种音乐文件,效果一流。 你只需要在插入中选 Tabuleiro Xtras DirectMed...
  1.什么是透明代理? 如果你问:我如何才能使得用户的浏览器不需要任何代理设置就能使用我的Squid cache代理服务器上网?此时你就需要使用透明代理。透明代理让你的客户端不需设置任何代理,当包经过透时代理服务器时实际上被重定向到squid代理服务器的代理端口(如8080),即由本地代理服务器向外请求所需数据然后拷贝给客户端。 ...
控制结阅与过程编程清浪冲天 马敬发 QQ: 283989349 E-mail: mjf150080@tom.com 有问题时,我们可以通过http://www.hustc.mpc.cn 这个论坛, 或 通过QQ 共同学习和讨论 一、控制结构 首先了解比较运算符: == 等于 >= 大于等于 大于 了解逻辑运算符: && 逻辑AND || 逻辑OR ! 逻辑NOT 警告:执行顺序是:! && || if...else...结构: 第...

经验教程

291

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部