首页 > 开发 > 综合 > 正文

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

2024-07-21 02:28:52
字体:
来源:转载
供稿:网友
注册会员,创建你的web开发资料库,

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

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

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

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

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

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

private void form1_load(object sender, system.eventargs e)
{
this.axanimation1.open(application.startuppath + @"/filecopy.avi");
}

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表