實(shí)現(xiàn)C#播放AVI文件的方法
C#編程有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#播放AVI文件,包括介紹屬性AutoPlay設(shè)置為true等方面。
在C#編程的時(shí)候,由于一個(gè)功能需要C#播放AVI文件描述,結(jié)果找了半天也沒(méi)有搞定如何來(lái)進(jìn)行播放。于是本人在網(wǎng)上查呀查呀!找了半天終于找到了一個(gè)方法播放文件。
他的方式是首先用下面的命令為媒體播放器控件:msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll.命令為:aximp c:\winnt\system32\msdxm.ocx 而通常msdxm.ocx中的ActiveX控件都未注冊(cè)! 再運(yùn)行regsvr32 msdxm.ocx手動(dòng)注冊(cè)便生成需要的動(dòng)態(tài)連接庫(kù)文件。
但是我發(fā)現(xiàn)他所用的MediaPlayer控件是可以播放許多的媒體文件。但是并不能滿足我所需要的情況。我的情況是用C#播放一小段AVI文件,并且背景要透明,而不是黑色,或其他顏色,我找了半天也不能找到什么方法可以使MediaPlayer播放的文件為透明的狀態(tài),十分郁悶!
但是隨后我發(fā)現(xiàn)其他用VB的程序中可以實(shí)現(xiàn)這個(gè)功能,讓我十分的高興,于是我又打開了VB的代碼進(jìn)行了詳細(xì)的查看,發(fā)現(xiàn)在VB中有一個(gè)控件為 Animation可以播放AVI文件,而且其有一個(gè)屬性選項(xiàng)是使背景透明。正好能夠滿足我的需要??墒沁@也是一個(gè)OCX的控件,于是,我先把該控件找到,位置是:C:\WINDOWS\SYSTEM32\COMCT32.ocx,然后我運(yùn)行regsvr32進(jìn)行手動(dòng)注冊(cè),注冊(cè)完畢以后我就在環(huán)境中進(jìn)行引用。然后把控件拖入到窗體中,布好了局,將其屬性AutoPlay設(shè)置為true,然后在代碼中寫入下邊一句話即可:
- private void Form1_Load(object sender, System.EventArgs e)
- {
- this.axAnimation1.Open(Application.StartupPath + @"\FILECOPY.AVI");
- }
這樣當(dāng)窗體加載的時(shí)候就會(huì)自動(dòng)的C#播放AVI文件描述了。
其實(shí),這個(gè)問(wèn)題并不是很難,主要是本人對(duì)COM組件并不是特別熟悉的過(guò)。只要熟悉這些組件的功能,以及運(yùn)行的原理,勢(shì)必會(huì)大大的提高我們的編程的效率。
【編輯推薦】