版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
7.1VB視頻文件的播放7.2VCD播放程序本章小結練習七7.1.1AVI文件的播放方法
本小節(jié)將以AVI文件的播放為例,介紹VB中視頻播放的6種方法。
1.利用Animation控件播放AVI文件
首先利用動畫生成軟件生成后綴為?.AVI的動畫文件(如PLAY.AVI),然后進入VisualBasic,在控件工具欄中按下鼠標右鍵,選擇快捷菜單中的“部件”,并選中“MicrosoftWindowsCommoncontrols-25.0”前的復選框,按“確認”按鈕退出。7.1VB視頻文件的播放建立一個新的表單(Form),選擇控件工具欄中的“Animation”控件,在Form1上拉出一個方框(Animation1),設置它的AutoPlay屬性為False,Visible屬性為False;點擊控件工具欄中的按鈕控件,在Form1中創(chuàng)建一個按鈕(Command1),設置其Caption屬性為“播放”。雙擊Form1,編寫Form1的Load過程:雙擊Command1,編寫Command1的Click過程:值得說明的一點是,本方法只適用于播放無聲的AVI文件。
2.利用API函數(shù)mciSendString()播放AVI文件
通常,在VB中播放AVI動畫文件時需要借助Animation控件來實現(xiàn)。該控件不是VB的內(nèi)部控件,使用時要從“部件”中向控件工具箱添加,程序發(fā)布時需要打包Mci32.ocx(該控件包含于Mci32.ocx中)。另外,如果應用程序需要同時播放多個不同的動畫文件,就得使用多個Animation控件,這大大增加了系統(tǒng)資源的消耗。其實,可以用Windows的API函數(shù)來完成AVI動畫的播放,這個API函數(shù)就是mciSendString。進入VisualBasic6.0,建立一個新的表單,并在表單上創(chuàng)建一個按鈕(Command1),設置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個圖畫盒控件(Picture1),作為動畫
窗口。
加入通用模塊:雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:
3.利用API函數(shù)mciExecute(?)播放AVI文件
進入VisualBasic6.0,建立一個新的表單,并在表單上創(chuàng)建一個按鈕(Command1),設置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個圖畫盒控件(Picture1),作為動畫的輸出窗口。
加入通用模塊:雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:4.利用MMControl控件播放AVI文件
進入VisualBasic6.0中,在控件工具欄中按下鼠標右鍵,選擇快捷菜單中的“部件”,選中“MicrosoftMultimediaControl5.0”前的復選框,單擊“確認”按鈕退出。建立一個新的表單,在表單上創(chuàng)建一個“MicrosoftMultimediaControl”控件(MMControl1),設置它的DeviceType屬性為“AVIVIDEO”,把MMControl1的FileName屬性置空,設置它的Visible屬性為False;再在表單上創(chuàng)建一個按鈕(Command1),設置它的Caption屬性為“播放”;最后在表單上創(chuàng)建一個圖畫盒控件(Picture1),作為動畫的輸出窗口,設置它的Visible屬性為False。雙擊Form1,編寫Form1的Activate過程:雙擊Form1中的按鈕,編寫Command1的Click過程:
5.利用可插入對象中的電影剪輯控件播放AVI文件
進入VisualBasic6.0中,在控件工具欄中按下鼠標右鍵,選擇快捷菜單中的“部件”,再選擇“可插入對象”選項卡,然后選中“視頻剪輯(AVI)”前的復選框,單擊“確認”按鈕退出。建立一個新的表單,在表單上創(chuàng)建一個“視頻剪輯(AVI)”控件(avifile1),此時會看到媒體播放器的播放界面,按照在媒體播放器中播放AVI文件的方式進行設置。設置完成后回到VisualBasic6.0中,運行此程序,可看到動畫的開始畫面,雙擊它即可實現(xiàn)動畫文件的播放。
6.利用OLE控件播放AVI文件
進入VisualBasic6.0,建立一個新的表單,在表單上創(chuàng)建一個按鈕(Command1),設置它的Caption屬性為“播放”;再在表單上創(chuàng)建一個OLE控件(Ole1),此時會看到媒體播放器的播放界面,按照在媒體播放器中播放AVI文件的方式進行設置。設置完成后回到VisualBasic6.0中,設置Ole1的AutoActivate屬性為0-Manual,Visible屬性為False。雙擊Command1,編寫Command1的Click過程:7.1.2實例1——同時播放兩個AVI視頻文件
在7.1節(jié)中,我們知道了可以使用API函數(shù)mciExecute播放視頻文件。在這一節(jié)里,將介紹如何同時播放兩個視頻文件,從而實現(xiàn)視頻畫中畫的效果。下面通過一個例子說明如何利用Windows的API函數(shù)mciExecute、mciSendString和SetWindowPos來達到上述目的。在程序中使用了一大一小的兩個PictureBox控件Picture1和Picture2,其中,前者是有標題欄和最大化、最小化、關閉按鈕的窗口,后者是一個沒有邊框的窗口,如圖7-1所示。Picture1為大畫面,Picture2為小畫面,分別播放位于C:\WINDOWS\MEDIA\文件夾下的兩個AVI視頻:LOGO1.AVI與LOGO2.AVI文件。畫出如圖7-1所示的窗體,窗體上有兩個PictureBox控件,其中底色為藍色的控件名為Picture2。
各對象的主要屬性如表7-1所示。圖7-1同時播放兩個視頻文件控件設計表7-1同時播放兩個AVI視頻文件的控件屬性運行此程序,可以看見LOGO1.AVI、LOGO2.AVI兩個視頻文件同時播放。圖7-2為程序運行中某一刻的窗口顯示結果。圖7-2兩個視頻文件同時播放7.2.1實例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ù)”、“音量”、“影片大小(1/16、1/4、1/2、1、2倍和全屏)”、“面板”、“顏色”、“過濾器”等。下面利用該控件來設計一個VCD播放器。7.2VCD播放程序
1.實例2的步驟、代碼和注釋
首先,新建一個“工程”,依次選擇“工程”、“部件”,然后添加MicrosoftActiveMovieControl(Amovie.ocx)和MicrosoftCommondialogControl(Comdlg32.ocx),這時控件會出現(xiàn)在“工具箱”中。將上述兩個控件加進窗體,再單擊“菜單”工具欄,將建立主菜單項。畫出的窗體如圖7-3所示。
其中各對象的屬性如表7-2所示。圖7-3VCD播放程序控件設計表7-2VCD播放程序的控件屬性運行該程序,當打開一個VCD文件后,就可觀看VCD影片了。圖7-4中正播放影片《地道戰(zhàn)》。注意:若無法正常播放影片,需要重新加載ActiveMovie控件Amovie.ocx。
2.ActiveMovie控件的其他屬性
(1)?AllowChangeDisplayMode:運行時是否允許改變顯示的模式;
(2)?AllowHideControls:運行時是否允許顯示/隱藏控制面板;
圖7-4播放影片《地道戰(zhàn)》
(3)?AllowHideDisplay:運行時是否允許顯示/隱藏顯示面板;
(4)?Appearance:設置面板的外觀(平面或3D);
(5)?AutoStart:設置打開VCD文件后是否“自動播放”;
(6)?EnableContextMenu:當在畫面中單擊右鍵時是否允許出現(xiàn)控制菜單或自定義控制菜單;
(7)?FileName:設置ActiveMovie播放的文件名;
(8)?PlayCount:設置播放次數(shù);
(9)?Rate:設置播放時的速率,值為1時為正常播放,值大于1時為快進(太大時可能無聲、無影像);
(10)?SelectionStart:設置播放的開始位置(缺省值為0);
(11)?SelectionEnd:設置播放的結束位置(缺省值為?-1);
(12)?ShowControls:顯示/隱藏控制面板;
(13)?Showdisplay:顯示/隱藏顯示面板;
(14)?ShowpositionControls:在控制面板中顯示/隱藏位置按鈕;
(15)?ShowSelectionControls:在控制面板中顯示/隱藏選擇按鈕;
(16)?ShowTracker:在控制面板中顯示/隱藏音軌欄;
(17)?ToolTipText:當光標停留在畫面時出現(xiàn)提示文字。7.2.2實例3——利用MCIWndx控件播放VCD
除了可以用Microsoft的ActiveMovie控件來開發(fā)VCD播放程序外,還可以用MCIWndxControl控件(MCIWndx.ocx)來進行開發(fā)。值得一提的是,由于MCIWndx控件是通過XING的MCI驅動程序來實現(xiàn)的,如果沒有XING的DLL程序,運行時就會出錯,因此在使用MCIWndx控件前,必須先安裝XINGVCD播放軟件。MCIWndx控件支持大多數(shù)ActiveMovie控件所支持的多媒體文件。
1.MCIWndx控件的常用屬性
(1)?AutosizeMovie:控制畫面是否自動適應窗口,值為False時可能會遮掩掉部分畫面,結合AuotsizeWindows使用;
(2)?AuotsizeWindows:控制畫面是否自動適應原來影片的大小,值為False時可能會擠壓或拉長畫面,使畫面變形,結合AutosizeMovie使用;
(3)?DefaultContextMenuEnabled:當在畫面中單擊右鍵時是否允許出現(xiàn)控制菜單(缺省值為True,這樣將不能觸發(fā)鼠標右鍵的MouseDown、MouseUp和DblClick事件;設成False時,可以顯示自行設計的控制菜單);
(4)?Filename:指定設備所要播放的文件;
(5)?Menu:顯示/隱藏播放條上的控制菜單,并設置在控制面板上單擊右鍵時是否彈出菜單;
(6)?PlayBar:顯示/隱藏播放條;
(7)?PositionString:返回打開的MCI設備的當前位置;
(8)?Record:設置控制菜單的“保存”命令是否可用;
(9)?Repeat:設置播放時是否“自動重播”;
(10)??Speed:設置播放時的速率,為1000時表示正常播放,大于1000時為快進(太大時可能無聲、無影像),小于1000時為慢進;
(11)?ToolTipText:返回/設置當鼠標停留在畫面時的文本;
(12)?TimerFreq:指定時間周期;
(13)?Volume:設置MCI的聲音大小,1000為正常值;
(14)?Zoom:設置畫面的縮放率。
2.實例3中MCIWndx的使用步驟
下面同樣以播放實例1中的影片為例,介紹MCIWndx控件的使用方法。相對實例2中的ActiveMovie控件復雜的編程和屬性設置,本例中MCIWndx控件的使用顯得比較容易。
首先在新建的窗體上添加一個MCIWndx控件,并在控件上單擊鼠標右鍵,在彈出式菜單中選取“特性”,見圖7-5,或直接在屬性欄中進行設置。在Filename中設置需要播放的VCD文件,見圖7-6。按F5鍵則開始運行,當單擊“播放”鍵時,此控件就會自動播放VCD。若無法正常播放影片,則需要重新加載MCIWndx控件MCIWndx.ocx。圖7-5在彈出式菜單中選取“特性”
圖7-6在Filename中設置需要播放的VCD在播放過程中,在影像上單擊鼠標右鍵,將彈出操作菜單,見圖7-7。選擇菜單中的“命令”選項,在隨后彈出的“發(fā)送MCI字符串命令”對話框的命令行中可直接輸入命令,發(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學一年級數(shù)學口算練習題大全
- 江西婺源茶業(yè)職業(yè)學院《高效焊接技術》2023-2024學年第一學期期末試卷
- 華北理工大學輕工學院《中學美術課程標準與教材分析》2023-2024學年第一學期期末試卷
- 湖北工程職業(yè)學院《放射性三廢處理與處置》2023-2024學年第一學期期末試卷
- 周口文理職業(yè)學院《智能自動化與控制網(wǎng)絡實訓》2023-2024學年第一學期期末試卷
- 重慶理工大學《機器人工程數(shù)學(2)》2023-2024學年第一學期期末試卷
- 浙江水利水電學院《區(qū)塊鏈技術及運用》2023-2024學年第一學期期末試卷
- 鄭州信息工程職業(yè)學院《Office高級應用》2023-2024學年第一學期期末試卷
- 長江職業(yè)學院《動物分子與細胞生物學導論》2023-2024學年第一學期期末試卷
- 云南財經(jīng)職業(yè)學院《國畫基礎(I)》2023-2024學年第一學期期末試卷
- 2025年度土地經(jīng)營權流轉合同補充條款范本
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 0的認識和加、減法(說課稿)-2024-2025學年一年級上冊數(shù)學人教版(2024)001
- 醫(yī)院安全生產(chǎn)治本攻堅三年行動實施方案
- 工程項目合作備忘錄范本
- 碳排放監(jiān)測技術
- 江西省2023-2024學年高二上學期期末教學檢測數(shù)學試題 附答案
- 倉儲配送合同范本
- 《機器學習(含實驗實踐)》課程教學大綱(機械設計制造及其自動化專業(yè))
- 勞務派遣招標文件范本
- 健康管理服務協(xié)議合同范例
評論
0/150
提交評論