程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 如何在C#中播放AVI短片並使背景透明

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

編輯:關於C語言

在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組件並不是特別熟悉的過.只要熟悉這些組件的功能,以及運行的原理,勢必會大大的提高我們的編程的效率。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved