資源描述:
《展看用visualbasic實(shí)現(xiàn)多畫(huà)面播放功能》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、展看用VisualBasic實(shí)現(xiàn)多畫(huà)面播放功能所謂動(dòng)態(tài)畫(huà)中畫(huà),指的是在大畫(huà)面視頻播放時(shí),小畫(huà)面在大畫(huà)面中也播放另外的畫(huà)面,或者是兩個(gè)畫(huà)面都在做某種活動(dòng)。筆者前段時(shí)間用VisualBasic開(kāi)發(fā)了一個(gè)vcd播放程序,可以實(shí)現(xiàn)以下功能:(1)可以多屏播放,也就是畫(huà)中畫(huà)功能,可同時(shí)播放幾個(gè)不同的畫(huà)面;(2)可以同時(shí)播放cd-rom中的視頻音頻文件(當(dāng)然,在硬盤(pán)中播放速度會(huì)更快些)(3)支持多種文件格式(如.dat、.ov、.mmm、.mid、.rmi、.mpg、.mpa、.mpv等);(4)自帶畫(huà)面美觀且功能齊全的c
2、d播放程序;(5)增強(qiáng)了鼠標(biāo)的右鍵功能,用它可以控制各畫(huà)面的大小(1/16、1/4、1/2、1、2倍和全屏)、播放、暫停等;(6)控制聲音、圖像、時(shí)間/幀顯示轉(zhuǎn)換、自動(dòng)重播等;(7)控制條隨意拖動(dòng)播放,再加上定時(shí)播放、自定義播放時(shí)間等播放方式,可使您更加舒服地控制vcd;(8)屏幕可隨意拖動(dòng),畫(huà)面可任意放縮。vcd中的影像文件都在光盤(pán)的mpegav目錄下,文件名只有兩種:avxeq01.dat或music01.dat(假如是音樂(lè)版的卡拉ok,則還有music02.dat等。)可視動(dòng)畫(huà)控件activemovie是
3、microsoft公司的控件,從不成熟的1.0、1.2到2.0,每次都有了很大的改進(jìn),如1.0版本中有幾個(gè)屬性是只讀的(例如,displaymode只能為amvtime,而不能改為amvframes)。該控件支持音頻文件(.id、.rmi)、影片文件(.avi、.mov、.mmm、.mpeg、.mpg、.mpa、.mpv)和vcd文件(.dat)等。播放時(shí)若用鼠標(biāo)右鍵單擊畫(huà)面,則可以直接對(duì)畫(huà)面的播放、暫停、停止等進(jìn)行控制,讀者還可以自行在“屬性”欄中對(duì)影片播放進(jìn)行控制設(shè)置,諸如設(shè)置“播放次數(shù)”、“音量”、“影片
4、大小(1/16、1/4、1/2、1、2倍和全屏”、“面板”、“顏色”、“過(guò)濾器”等。這種技術(shù)的實(shí)現(xiàn)實(shí)際上是vb調(diào)用activemovie控制器來(lái)完成的,而activemovie控制器內(nèi)嵌了microsoftmpeg音頻解碼器和microsoftmpeg視頻解碼器。首先,我們建立一個(gè)“項(xiàng)目”,依次選擇“項(xiàng)目/部件”,然后添加microsoftactivemoviecontrol(amovie.ocx)、microsoftmandialogcontrol(dlg32.ocx),控件即出現(xiàn)在“工具箱”中。將上述兩個(gè)控
5、件加進(jìn)窗體,再單擊“菜單”工具欄,建立一個(gè)主菜單項(xiàng):“文件”(file)及其子菜單項(xiàng):“打開(kāi)a畫(huà)面”(opena)。在opena中加進(jìn)如下代碼:privatesubopena-click()onerrorresumenextmondialog1.filter="videofile(*.dat)∣*.dat∣oviefile(*.mov)∣(*.mov)∣mediafile(*.mmm)∣(*.mmm)∣midfile(*.mid;*.rmi)∣(*.mid;*.rmi)∣mpegfile(*.mpeg)∣(*.
6、mpeg)∣allfile(*.*)∣*.*"mondialog1.filterindex=1mondialog1.shoove1.filename=mondialog1.filenameactivemove1.height=form1.heightactivemove1.1.ove1.runendsub這是對(duì)單個(gè)的activemovie1進(jìn)行控制。還可以在“文件”(file)中依次加進(jìn)子菜單:“打開(kāi)b畫(huà)面”(openb)、“打開(kāi)c畫(huà)面”(openc),并相應(yīng)地加進(jìn)activemovie2、activemovi
7、e3等多個(gè)畫(huà)面,將上述程序代碼略為改動(dòng)后加進(jìn)。這樣,當(dāng)您按下f5鍵即運(yùn)行程序,打開(kāi)您想要播放的vcd文件就可以欣賞vcd了。在屏幕上單擊右鍵,還可以控制畫(huà)面呢!現(xiàn)在是否就滿足了呢?不行!我們?cè)僭黾右粋€(gè)用鼠標(biāo)任意拖動(dòng)屏幕的功能:privatesubactivemovie1-mousedown(buttonasinteger,shiftasinteger,xassingle,yassingle)activemovie1.drag1x1=xy1=yendsub我們還增加了一個(gè)定義任意播放時(shí)間的主菜單項(xiàng):“時(shí)間”(ti
8、me)及其子菜單項(xiàng):“畫(huà)面a時(shí)間”(settimea):privatesubsettimea-click()onerrorresumenextdimrasintegerr=inputbox("請(qǐng)輸進(jìn)時(shí)間(分鐘:0-60)")r=r*60activemovie1.currentposition=int(r)activemovie1.runendsubcurrentposition是控制v