資源描述:
《高中信息技術教學論文 用visualbasic實現多畫面播放功能》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、用VisualBasic實現多畫面播放功能所謂動態(tài)畫中畫,指的是在大畫面視頻播放時,小畫面在大畫面中也播放另外的畫面,或者是兩個畫面都在做某種活動。?筆者前段時間用Visual?Basic開發(fā)了一個vcd播放程序,可以實現以下功能:?(1)?可以多屏播放,也就是畫中畫功能,可同時播放幾個不同的畫面;?(2)?可以同時播放cd-rom中的視頻音頻文件(當然,在硬盤中播放速度會更快些)?(3)支持多種文件格式(如.dat、?.wav、?.avi、?.mov、?.mmm、?.mid、?.rmi、?.mpg、?.mpa
2、、?.mpv等);?(4)?自帶畫面美觀且功能齊全的cd播放程序;?(5)?增強了鼠標的右鍵功能,用它可以控制各畫面的大小(1/16、1/4、1/2、1、2倍和全屏)、播放、暫停等;?(6)?控制聲音、圖像、時間/幀顯示轉換、自動重播等;?(7)?控制條隨意拖動播放,再加上定時播放、自定義播放時間等播放方式,可使您更加愜意地控制vcd;?(8)?屏幕可隨意拖動,畫面可任意放縮。?8用心愛心專心vcd中的影像文件都在光盤的mpegav目錄下,文件名只有兩種:avxeq01.dat或music01?.dat(如果是
3、音樂版的卡拉ok,則還有music02?.dat等。)?可視動畫控件activemovie是microsoft公司的控件,從不成熟的1.0、1.2到2.0,每次都有了很大的改進,如1.0版本中有幾個屬性是只讀的(例如,displaymode只能為amvtime,而不能改為amvframes)。該控件支持音頻文件(.wav、.mid、.rmi)、影片文件(.avi、.mov、.mmm、.mpeg、.mpg、.mpa、.mpv)和vcd文件(.dat)等。播放時若用鼠標右鍵單擊畫面,則可以直接對畫面的播放、暫停、停
4、止等進行控制,讀者還可以自行在“屬性”欄中對影片播放進行控制設置,諸如設置“播放次數”、“音量”、“影片大小(1/16、1/4、1/2、1、2倍和全屏”、“面板”、“顏色”、“過濾器”等。這種技術的實現實際上是vb調用activemovie控制器來完成的,而activemovie控制器內嵌了microsoft?mpeg音頻解碼器和microsoft?mpeg視頻解碼器。?首先,我們建立一個“項目”,依次選擇“項目/部件”,然后添加microsoft?activemoviecontrol?(amovie.ocx)
5、、microsoft?commandialog?control(comdlg32.ocx),控件即出現在“工具箱”中。將上述兩個控件加進窗體,再單擊“菜單”工具欄,建立一個主菜單項:“文件”(file)及其子菜單項:“打開a畫面”(opena)。?在opena中加入如下代碼:?private?sub?opena-click?()?on?error?resume?next?commondialog1.filter?="video?file?(*.dat)∣*.dat∣wave?file?(*.wav)∣avi?f
6、ile?(*.avi)∣(*.avi)∣movie?file?(*.mov)∣(*.mov)∣media?file?(*.mmm)∣(*.mmm)∣mid?file?(*.mid;*.rmi)∣(*.mid;*.rmi)∣mpeg?file?(*.mpeg)∣(*.mpeg)∣all?file?(*.*)∣*.*"?8用心愛心專心commondialog1.filterindex?=1?commondialog1.showopen?activemove1.filename?=?commondialog1.?fi
7、lename?activemove1.height?=?form1.height?activemove1.width?=form1.width?activemove1.run?end?sub?這是對單個的activemovie1進行控制。還可以在“文件”(file)中依次加入子菜單:“打開b畫面”(openb)、“打開c畫面”(openc),并相應地加入activemovie2、?activemovie3等多個畫面,將上述程序代碼略為改動后加入。這樣,當您按下f5鍵即運行程序,打開您想要播放的vcd文件就可以欣
8、賞vcd了。在屏幕上單擊右鍵,還可以控制畫面呢!?現在是否就滿足了呢?不行!我們再增加一個用鼠標任意拖動屏幕的功能:?private?sub?activemovie1-mousedown?(button?as?integer?,shift?as?integer?,x?as?single?,y?as?single)?8用心愛心專心activemovie1.drag?1?x1=x?y1=y