《多媒體軟件設(shè)計(jì)技術(shù)》課件第7章_第1頁
《多媒體軟件設(shè)計(jì)技術(shù)》課件第7章_第2頁
《多媒體軟件設(shè)計(jì)技術(shù)》課件第7章_第3頁
《多媒體軟件設(shè)計(jì)技術(shù)》課件第7章_第4頁
《多媒體軟件設(shè)計(jì)技術(shù)》課件第7章_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

7.1VB視頻文件的播放7.2VCD播放程序本章小結(jié)練習(xí)七7.1.1AVI文件的播放方法

本小節(jié)將以AVI文件的播放為例,介紹VB中視頻播放的6種方法。

1.利用Animation控件播放AVI文件

首先利用動(dòng)畫生成軟件生成后綴為?.AVI的動(dòng)畫文件(如PLAY.AVI),然后進(jìn)入VisualBasic,在控件工具欄中按下鼠標(biāo)右鍵,選擇快捷菜單中的“部件”,并選中“MicrosoftWindowsCommoncontrols-25.0”前的復(fù)選框,按“確認(rèn)”按鈕退出。7.1VB視頻文件的播放建立一個(gè)新的表單(Form),選擇控件工具欄中的“Animation”控件,在Form1上拉出一個(gè)方框(Animation1),設(shè)置它的AutoPlay屬性為False,Visible屬性為False;點(diǎn)擊控件工具欄中的按鈕控件,在Form1中創(chuàng)建一個(gè)按鈕(Command1),設(shè)置其Caption屬性為“播放”。雙擊Form1,編寫Form1的Load過程:雙擊Command1,編寫Command1的Click過程:值得說明的一點(diǎn)是,本方法只適用于播放無聲的AVI文件。

2.利用API函數(shù)mciSendString()播放AVI文件

通常,在VB中播放AVI動(dòng)畫文件時(shí)需要借助Animation控件來實(shí)現(xiàn)。該控件不是VB的內(nèi)部控件,使用時(shí)要從“部件”中向控件工具箱添加,程序發(fā)布時(shí)需要打包Mci32.ocx(該控件包含于Mci32.ocx中)。另外,如果應(yīng)用程序需要同時(shí)播放多個(gè)不同的動(dòng)畫文件,就得使用多個(gè)Animation控件,這大大增加了系統(tǒng)資源的消耗。其實(shí),可以用Windows的API函數(shù)來完成AVI動(dòng)畫的播放,這個(gè)API函數(shù)就是mciSendString。進(jìn)入VisualBasic6.0,建立一個(gè)新的表單,并在表單上創(chuàng)建一個(gè)按鈕(Command1),設(shè)置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個(gè)圖畫盒控件(Picture1),作為動(dòng)畫

窗口。

加入通用模塊:雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:

3.利用API函數(shù)mciExecute(?)播放AVI文件

進(jìn)入VisualBasic6.0,建立一個(gè)新的表單,并在表單上創(chuàng)建一個(gè)按鈕(Command1),設(shè)置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個(gè)圖畫盒控件(Picture1),作為動(dòng)畫的輸出窗口。

加入通用模塊:雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:4.利用MMControl控件播放AVI文件

進(jìn)入VisualBasic6.0中,在控件工具欄中按下鼠標(biāo)右鍵,選擇快捷菜單中的“部件”,選中“MicrosoftMultimediaControl5.0”前的復(fù)選框,單擊“確認(rèn)”按鈕退出。建立一個(gè)新的表單,在表單上創(chuàng)建一個(gè)“MicrosoftMultimediaControl”控件(MMControl1),設(shè)置它的DeviceType屬性為“AVIVIDEO”,把MMControl1的FileName屬性置空,設(shè)置它的Visible屬性為False;再在表單上創(chuàng)建一個(gè)按鈕(Command1),設(shè)置它的Caption屬性為“播放”;最后在表單上創(chuàng)建一個(gè)圖畫盒控件(Picture1),作為動(dòng)畫的輸出窗口,設(shè)置它的Visible屬性為False。雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:

5.利用可插入對(duì)象中的電影剪輯控件播放AVI文件

進(jìn)入VisualBasic6.0中,在控件工具欄中按下鼠標(biāo)右鍵,選擇快捷菜單中的“部件”,再選擇“可插入對(duì)象”選項(xiàng)卡,然后選中“視頻剪輯(AVI)”前的復(fù)選框,單擊“確認(rèn)”按鈕退出。建立一個(gè)新的表單,在表單上創(chuàng)建一個(gè)“視頻剪輯(AVI)”控件(avifile1),此時(shí)會(huì)看到媒體播放器的播放界面,按照在媒體播放器中播放AVI文件的方式進(jìn)行設(shè)置。設(shè)置完成后回到VisualBasic6.0中,運(yùn)行此程序,可看到動(dòng)畫的開始畫面,雙擊它即可實(shí)現(xiàn)動(dòng)畫文件的播放。

6.利用OLE控件播放AVI文件

進(jìn)入VisualBasic6.0,建立一個(gè)新的表單,在表單上創(chuàng)建一個(gè)按鈕(Command1),設(shè)置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個(gè)OLE控件(Ole1),此時(shí)會(huì)看到媒體播放器的播放界面,按照在媒體播放器中播放AVI文件的方式進(jìn)行設(shè)置。設(shè)置完成后回到VisualBasic6.0中,設(shè)置Ole1的AutoActivate屬性為0-Manual,Visible屬性為False。雙擊Command1,編寫Command1的Click過程:7.1.2實(shí)例1——同時(shí)播放兩個(gè)AVI視頻文件

在7.1節(jié)中,我們知道了可以使用API函數(shù)mciExecute播放視頻文件。在這一節(jié)里,將介紹如何同時(shí)播放兩個(gè)視頻文件,從而實(shí)現(xiàn)視頻畫中畫的效果。下面通過一個(gè)例子說明如何利用Windows的API函數(shù)mciExecute、mciSendString和SetWindowPos來達(dá)到上述目的。在程序中使用了一大一小的兩個(gè)PictureBox控件Picture1和Picture2,其中,前者是有標(biāo)題欄和最大化、最小化、關(guān)閉按鈕的窗口,后者是一個(gè)沒有邊框的窗口,如圖7-1所示。Picture1為大畫面,Picture2為小畫面,分別播放位于C:\WINDOWS\MEDIA\文件夾下的兩個(gè)AVI視頻:LOGO1.AVI與LOGO2.AVI文件。畫出如圖7-1所示的窗體,窗體上有兩個(gè)PictureBox控件,其中底色為藍(lán)色的控件名為Picture2。

各對(duì)象的主要屬性如表7-1所示。圖7-1同時(shí)播放兩個(gè)視頻文件控件設(shè)計(jì)表7-1同時(shí)播放兩個(gè)AVI視頻文件的控件屬性運(yùn)行此程序,可以看見LOGO1.AVI、LOGO2.AVI兩個(gè)視頻文件同時(shí)播放。圖7-2為程序運(yùn)行中某一刻的窗口顯示結(jié)果。圖7-2兩個(gè)視頻文件同時(shí)播放7.2.1實(shí)例2——利用ActiveMovie控件播放VCD

由于Microsoft公司的ActiveMovie控件內(nèi)嵌了MPEG音頻解碼器和MPEG視頻解碼器,因此可以直接用它來播放符合MPEG規(guī)范的VCD文件。該控件除了支持影片文件(?.avi、

.mov、.mmm、.mpeg、.mpg、.mpa、.mpv和VCD文件(?.dat)外,還支持音頻文件(?.wav、.mid、.rmi)。播放時(shí),若用鼠標(biāo)右鍵雙擊畫面,則可以直接對(duì)畫面的播放、暫停、停止等進(jìn)行控制,還可以自行在“屬性”欄中對(duì)影片播放進(jìn)行設(shè)置,諸如設(shè)置“播放次數(shù)”、“音量”、“影片大小(1/16、1/4、1/2、1、2倍和全屏)”、“面板”、“顏色”、“過濾器”等。下面利用該控件來設(shè)計(jì)一個(gè)VCD播放器。7.2VCD播放程序

1.實(shí)例2的步驟、代碼和注釋

首先,新建一個(gè)“工程”,依次選擇“工程”、“部件”,然后添加MicrosoftActiveMovieControl(Amovie.ocx)和MicrosoftCommondialogControl(Comdlg32.ocx),這時(shí)控件會(huì)出現(xiàn)在“工具箱”中。將上述兩個(gè)控件加進(jìn)窗體,再單擊“菜單”工具欄,將建立主菜單項(xiàng)。畫出的窗體如圖7-3所示。

其中各對(duì)象的屬性如表7-2所示。圖7-3VCD播放程序控件設(shè)計(jì)表7-2VCD播放程序的控件屬性運(yùn)行該程序,當(dāng)打開一個(gè)VCD文件后,就可觀看VCD影片了。圖7-4中正播放影片《地道戰(zhàn)》。注意:若無法正常播放影片,需要重新加載ActiveMovie控件Amovie.ocx。

2.ActiveMovie控件的其他屬性

(1)?AllowChangeDisplayMode:運(yùn)行時(shí)是否允許改變顯示的模式;

(2)?AllowHideControls:運(yùn)行時(shí)是否允許顯示/隱藏控制面板;

圖7-4播放影片《地道戰(zhàn)》

(3)?AllowHideDisplay:運(yùn)行時(shí)是否允許顯示/隱藏顯示面板;

(4)?Appearance:設(shè)置面板的外觀(平面或3D);

(5)?AutoStart:設(shè)置打開VCD文件后是否“自動(dòng)播放”;

(6)?EnableContextMenu:當(dāng)在畫面中單擊右鍵時(shí)是否允許出現(xiàn)控制菜單或自定義控制菜單;

(7)?FileName:設(shè)置ActiveMovie播放的文件名;

(8)?PlayCount:設(shè)置播放次數(shù);

(9)?Rate:設(shè)置播放時(shí)的速率,值為1時(shí)為正常播放,值大于1時(shí)為快進(jìn)(太大時(shí)可能無聲、無影像);

(10)?SelectionStart:設(shè)置播放的開始位置(缺省值為0);

(11)?SelectionEnd:設(shè)置播放的結(jié)束位置(缺省值為?-1);

(12)?ShowControls:顯示/隱藏控制面板;

(13)?Showdisplay:顯示/隱藏顯示面板;

(14)?ShowpositionControls:在控制面板中顯示/隱藏位置按鈕;

(15)?ShowSelectionControls:在控制面板中顯示/隱藏選擇按鈕;

(16)?ShowTracker:在控制面板中顯示/隱藏音軌欄;

(17)?ToolTipText:當(dāng)光標(biāo)停留在畫面時(shí)出現(xiàn)提示文字。7.2.2實(shí)例3——利用MCIWndx控件播放VCD

除了可以用Microsoft的ActiveMovie控件來開發(fā)VCD播放程序外,還可以用MCIWndxControl控件(MCIWndx.ocx)來進(jìn)行開發(fā)。值得一提的是,由于MCIWndx控件是通過XING的MCI驅(qū)動(dòng)程序來實(shí)現(xiàn)的,如果沒有XING的DLL程序,運(yùn)行時(shí)就會(huì)出錯(cuò),因此在使用MCIWndx控件前,必須先安裝XINGVCD播放軟件。MCIWndx控件支持大多數(shù)ActiveMovie控件所支持的多媒體文件。

1.MCIWndx控件的常用屬性

(1)?AutosizeMovie:控制畫面是否自動(dòng)適應(yīng)窗口,值為False時(shí)可能會(huì)遮掩掉部分畫面,結(jié)合AuotsizeWindows使用;

(2)?AuotsizeWindows:控制畫面是否自動(dòng)適應(yīng)原來影片的大小,值為False時(shí)可能會(huì)擠壓或拉長畫面,使畫面變形,結(jié)合AutosizeMovie使用;

(3)?DefaultContextMenuEnabled:當(dāng)在畫面中單擊右鍵時(shí)是否允許出現(xiàn)控制菜單(缺省值為True,這樣將不能觸發(fā)鼠標(biāo)右鍵的MouseDown、MouseUp和DblClick事件;設(shè)成False時(shí),可以顯示自行設(shè)計(jì)的控制菜單);

(4)?Filename:指定設(shè)備所要播放的文件;

(5)?Menu:顯示/隱藏播放條上的控制菜單,并設(shè)置在控制面板上單擊右鍵時(shí)是否彈出菜單;

(6)?PlayBar:顯示/隱藏播放條;

(7)?PositionString:返回打開的MCI設(shè)備的當(dāng)前位置;

(8)?Record:設(shè)置控制菜單的“保存”命令是否可用;

(9)?Repeat:設(shè)置播放時(shí)是否“自動(dòng)重播”;

(10)??Speed:設(shè)置播放時(shí)的速率,為1000時(shí)表示正常播放,大于1000時(shí)為快進(jìn)(太大時(shí)可能無聲、無影像),小于1000時(shí)為慢進(jìn);

(11)?ToolTipText:返回/設(shè)置當(dāng)鼠標(biāo)停留在畫面時(shí)的文本;

(12)?TimerFreq:指定時(shí)間周期;

(13)?Volume:設(shè)置MCI的聲音大小,1000為正常值;

(14)?Zoom:設(shè)置畫面的縮放率。

2.實(shí)例3中MCIWndx的使用步驟

下面同樣以播放實(shí)例1中的影片為例,介紹MCIWndx控件的使用方法。相對(duì)實(shí)例2中的ActiveMovie控件復(fù)雜的編程和屬性設(shè)置,本例中MCIWndx控件的使用顯得比較容易。

首先在新建的窗體上添加一個(gè)MCIWndx控件,并在控件上單擊鼠標(biāo)右鍵,在彈出式菜單中選取“特性”,見圖7-5,或直接在屬性欄中進(jìn)行設(shè)置。在Filename中設(shè)置需要播放的VCD文件,見圖7-6。按F5鍵則開始運(yùn)行,當(dāng)單擊“播放”鍵時(shí),此控件就會(huì)自動(dòng)播放VCD。若無法正常播放影片,則需要重新加載MCIWndx控件MCIWndx.ocx。圖7-5在彈出式菜單中選取“特性”

圖7-6在Filename中設(shè)置需要播放的VCD在播放過程中,在影像上單擊鼠標(biāo)右鍵,將彈出操作菜單,見圖7-7。選擇菜單中的“命令”選項(xiàng),在隨后彈出的“發(fā)送MCI字符串命令”對(duì)話框的命令行中可直接輸入命令,發(fā)送豐富的MCI字符串命令,如基本的play、close、stop、open、info、capability、pause、put、record、save、resume、seek、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論