下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、用VisualBasic實現(xiàn)多畫面播放功能所謂動態(tài)畫中畫,指的是在大畫面視頻播放時,小畫面在大畫面中也播放另外的畫面,或者是兩個畫面都在做某種活動。筆者前段時間用VisualBasi開發(fā)了一個vd播放程序,可以實現(xiàn)以下功能:(1)可以多屏播放,也就是畫中畫功能,可同時播放幾個不同的畫面;(2)可以同時播放d-r中的視頻音頻文件(當然,在硬盤中播放速度會更快些)(3)支持多種文件格式(如.dat、.av、.avi、.v、.、.id、.ri、.pg、.pa、.pv等);(4)自帶畫面美觀且功能齊全的d播放程序;(5)增強了鼠標的右鍵功能,用它可以控制各畫面的大小(1/16、1/4、1/2、1、2倍
2、和全屏)、播放、暫停等;(6)控制聲音、圖像、時間/幀顯示轉(zhuǎn)換、自動重播等;(7)控制條隨意拖動播放,再加上定時播放、自定義播放時間等播放方式,可使您更加愜意地控制vd;(8)屏幕可隨意拖動,畫面可任意放縮。vd中的影像文件都在光盤的pegav目錄下,文件名只有兩種:avxeq01.dat或usi01.dat(假如是音樂版的卡拉k,那么還有usi02.dat等。)可視動畫控件ativevie是irsft公司的控件,從不成熟的1.0、1.2到2.0,每次都有了很大的改良,如1.0版本中有幾個屬性是只讀的(例如,displayde只能為avtie,而不能改為avfraes)。該控件支持音頻文件(.
3、av、.id、.ri)、影片文件(.avi、.v、.、.peg、.pg、.pa、.pv)和vd文件(.dat)等。播放時假設用鼠標右鍵單擊畫面,那么可以直接對畫面的播放、暫停、停頓等進展控制,讀者還可以自行在“屬性欄中對影片播放進展控制設置,諸如設置“播放次數(shù)、“音量、“影片大小(1/16、1/4、1/2、1、2倍和全屏、“面板、“顏色、“過濾器等。這種技術的實現(xiàn)實際上是vb調(diào)用ativevie控制器來完成的,而ativevie控制器內(nèi)嵌了irsftpeg音頻解碼器和irsftpeg視頻解碼器。首先,我們建立一個“工程,依次選擇“工程/部件,然后添加irsftativevientrl(avie
4、.x)、irsftandialgntrl(dlg32.x),控件即出如今“工具箱中。將上述兩個控件加進窗體,再單擊“菜單工具欄,建立一個主菜單項:“文件(file)及其子菜單項:“翻開a畫面(pena)。在pena中參加如下代碼:privatesubpena-lik()nerrrresuenextndialg1.filter=videfile(*.dat)*.datavefile(*.av)avifile(*.avi)(*.avi)viefile(*.v)(*.v)ediafile(*.)(*.)idfile(*.id;*.ri)(*.id;*.ri)pegfile(*.peg)(*.peg)
5、allfile(*.*)*.*ndialg1.filterindex=1ndialg1.shpenativeve1.filenae=ndialg1.filenaeativeve1.hEight=fr1.heightativeve1.idth=fr1.idthativeve1.runendsub這是對單個的ativevie1進展控制。還可以在“文件(file)中依次參加子菜單:“翻開b畫面(penb)、“翻開畫面(pen),并相應地參加ativevie2、ativevie3等多個畫面,將上述程序代碼略為改動后參加。這樣,當您按下f5鍵即運行程序,翻開您想要播放的vd文件就可以欣賞vd了。在屏幕上
6、單擊右鍵,還可以控制畫面呢!如今是否就滿足了呢?不行!我們再增加一個用鼠標任意拖動屏幕的功能:privatesubativevie1-usedn(buttnasinteger,shiftasinteger,xassingle,yassingle)ativevie1.drag1x1=xy1=yendsub我們還增加了一個定義任意播放時間的主菜單項:“時間(tie)及其子菜單項:“畫面a時間(settiea):privatesubsettiea-lik()nerrrresuenextdirasintegerr=inputbx(請輸入時間(分鐘:0-60)r=r*60ativevie1.urrent
7、psitin=int(r)ativevie1.runendsuburrentpsitin是控制vd播放的時間:(1)ativevie1.urrentpsitin=0(從頭開場);(2)ativevie1.urrentpsitin=900(15分鐘后);(3)ativevie1.urrentp-sitin=1800(30分鐘后)。依次類推,但是不能超過60分鐘。我們再增加一個主菜單項:“屏幕(sreen)及其子菜單項:“全屏a(fullsreena),用來控制屏幕大小:privatesubfullsreena-lik()nerrrresuenextativevie1.fullsreende=tr
8、ueativevie1.runativevie1.vieindsize=avaxiizedendsubfullsreende用來控制畫面是否為全屏,當它為true時那么全屏方式播放vd,為false時那么取消全屏方式。vieindsize也是控制屏幕的大小:(1)全屏大?。篴tivevie1.vieind-size=avaxiized;(2)正常大小:ativevie1.vieindsize=avriginalsize;(3)倍屏:ativevie1.vieindsize=avdubleriginalsize;(4)1/2屏:ativevie1.vieindsize=avnehalsreen;
9、(5)1/4屏:ativevie1.vie-indsize=avnefurthsreen;(6)1/16屏:ativevie1.vieindsize=avnesixteensreen。我們可以隨意控制屏幕了。下面,讓我們再把聲音控制一下吧!irsftativevie控件2.0版確實比1.2、1.0改善不少!1.2、1.0版在我的創(chuàng)新ae64頂級聲卡中的表現(xiàn)很不盡人意,但2.0版卻把我拉“科達音箱功能在創(chuàng)新ae64的驅(qū)動下發(fā)揮得淋漓盡致!想必irsft公司對ativevie控制器中內(nèi)嵌的peg音頻解碼器下了苦功!我們在菜單中增加主菜單項:“聲音及其子菜單項“增加(sundadd棗快捷鍵設置為f4
10、)和“減少(sunddue棗快捷鍵設置為f5),分別用來控制聲音的增強:privatesubsundadd-lik()ativevie1.vlue=ativevie1.vlue+100endsubprivatesubsunddue-lik()ativevie1.vlue=ativevie1.vlue-100endsub當然,我們還想增加“靜音(sundn)功能。經(jīng)我反復試驗,當ativevie1.vlue=-4000時效果最好!我們還需要讓vd播放完后乖乖地“自動重播(autreplay):privatesubautreplay-lik()ativevie1.autreind=trueautr
11、eind設置播放時是否“自動播放endsub為了讓vd播放時交替“顯示直(shfrae)或“顯示時間(shtie),可在displayde中進展設置:privatesubshfrae-lik()nerrrresuenextativevie1.displayde=avfraesendsubprivatesubshtie-lik()nerrrresuenextativevie1.displayde=avtiesendsub經(jīng)過上面的設計,功能也湊合了。行了嗎?別急!我們還想將界面搞得漂亮一點。例如,增加工具欄,加強鼠標右鍵的功能和畫面中的雙擊功能等。假如我們想在vd畫面中單擊右鍵彈出菜單,那么可添
12、加如下代碼:privatesubativevie1-usedn(buttnasinteger,shiftasinteger,xassingle,yassingle)ifbuttn=2thenppupenuenukendsub其中,enuk是我們在菜單中額外增加的,子菜單內(nèi)容可自定義(但要記住在設計時將名為“enuk的菜單設置成不可見)。例如:(1)控制vd“暫停:ativevie1.parse;(2)控制vd“運行:ativevie1.run;(3)控制vd“停頓:ativevie1.stp;(4)控制vd“自動播放:ativevie1.autstart=true。ativevie還有非常有用
13、的其它屬性:(1)allhangedisplayde:運行時是否允許改變顯示的形式;(2)allhidentrls:運行時顯示/隱藏控制面板;(3)allhidedisplay:運行時顯示/隱藏顯示面板;(4)appearane:設置面板的外觀(平面或3d);(5)autstart:設置翻開vd文件后是否“自動播放;(6)enablentextenu:當在畫面中右鍵單擊時是否允許出現(xiàn)控制菜單(設成false時可以顯示您自行設計的控制菜單);(7)filenae:設置ativevie播放的文件名;(8)playunt:設置播放次數(shù);(9)rate:設置播放時的速率,為1時為正常播放,大于1時為快
14、進(過大時可能無聲、無影);(10)seletinstart:設置播放的開場位置(缺省值為0);(11)seletinend:設置播放的完畢位置(缺省值為-1);(12)shntrls:顯示/隱藏控制面板;(13)shdisplay:顯示/隱藏顯示面板;(14)shpsitinntrls:在控制面板中顯示/隱藏位置按鈕;(15)shseletinntrls:在控制面板中顯示/隱藏選擇按鈕;(16)shtraker:在控制面板中顯示/隱藏音軌欄;(17)tltiptext:當光標停留在畫面時出現(xiàn)的提示文字。我們除了可用irsft的ativevie控件進展開發(fā)外,還可以用ind控件來進展開發(fā)(可惜
15、二者不能同時使用。換言之,單純用ind無法制作畫中畫,但ind可以和ativevie“和平共處,這樣我們就可以用ind制作一個“特別版vd。值得一提的是,ind聲音解碼非常出色,不愧“師知名門棗xing)。這種技術的實現(xiàn)實際上是vb借助于xing的i驅(qū)動程序來實現(xiàn)的,假如沒有xing的dll程序運行時就會出錯。但這種技術實現(xiàn)得非常巧妙,比用vb中的le技術來得更加隱蔽,可以設計成自己的vd播放程序。假如動畫控件ind不在工具欄上,可按如下方法進展添加:(1)從“工程中選擇“部件,再選中控件indntrl(indx.x),ind控件即出如今“工具箱中。ind控件的屬性有:1)autsizevie
16、:控制畫面是否自動適應窗口,為false可能會遮掩掉局部畫面,結合autsizeinds使用;2)autsizeinds:控制畫面是否自動適應原來的影片的大小,為false時可能會擠壓或拉長畫面,使畫面變形,結合autsizevie使用;3)defaultntextenuenabled:當在畫面中右鍵單擊時是否允許出現(xiàn)控制菜單(缺省值為true,這樣您將不能觸發(fā)鼠標右鍵的usedn、useup和dbllik事件;設成false時可以顯示您自行設計的控制菜單);4)filenae:指定設備所要播放的文件;5)enu:顯示/隱藏播放條上的控制菜單并設置在控制面板上單擊右鍵時是否彈出控制菜單;6)p
17、laybar:顯示/隱藏播放條;7)psitinstring:返回翻開的i設備的當前位置;8)rerd:設置控制菜單的“保存命令是否可用;9)repeat:設置播放時是否“自動重播;10)speed:設置播放時的速率,為1000時表示正常播放,大于1000時為快進(過大時可能無聲、無影),小于1000時為慢進;11)tltiptext:返回/設置當鼠標停留在畫面時的文本;12)tiefreq:指定時間周期;13)vlue:設置i設置的聲音大小,1000為正常值;14)z:設置畫面的縮放率。在新建窗體上添加一個ind控件,并在控件上單擊鼠標右鍵,選勸屬性(或直接在屬性欄中進展設置),在filen
18、ae中設置您需要播放的vd文件,按f5鍵那么開場運行。然后單擊“播放鍵,就會自動播放vd。右鍵單擊圖像,可以直接對圖像的播放、暫停等進展控制,并且可以在播放時直接設置屏幕大小(1/2屏、正常屏幕、倍屏)和控制音量,并對畫面進展翻開、保存、關閉、復制、配置(顯示xing的有關信息)等操作。但是,要想更好地控制畫面,我們還得編程,程序參見ativevie控件的編程。令人鼓舞的是,該控件幾乎支持所有上述的多媒體文件。在“命令行中可直接輸入豐富的i指令(如根本的play、lse、stp、pen、inf、apability、pause、put、rerd、save、resue、seek、set等等。)怎么
19、樣?您的vd播放器可以橫空出世了吧???假如您覺得意猶未盡的話,那么還可以用indsapi函數(shù)進展開發(fā),只不過api所能控制的就簡單多了(indsapi函數(shù)也是借用i驅(qū)動程序來實現(xiàn)的。)inds中iexeute函數(shù)支持av、ri、id、avi(可以有聲音)等文件??稍诼暶髦袇⒓尤缦麓a:privatedelarefuntiniexeutelibin.dll(byvallpstrandasstring)aslngprivatesubfr-lad()dixx=iexeute(playe:pegavusi01.dat)假如您的vd中pegav目錄下的文件名不是usi01.dat,那么改為avseq01.dat(下同)endsub按f5運行程序即自動播放vd。inds中isendstring函數(shù)同樣可以播放上述類型的文件。在聲明中參加如下代碼:privatedelarefuntinisendstringlibin.dllaliasisendstringa(by
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年影像科服務質(zhì)量自查自糾報告范文
- 未來五年機械設備修理和售后服務企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年工程和與試驗服務企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 未來五年互聯(lián)網(wǎng)新聞信息服務企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年分離與克隆行業(yè)市場營銷創(chuàng)新戰(zhàn)略制定與實施分析研究報告
- 未來五年城市水域水質(zhì)下降處理服務企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 2026年醫(yī)師資格證考試臨床醫(yī)學真題解析及答案
- AI輔助下的區(qū)域小學英語聽說教學策略與實踐效果評價教學研究課題報告
- 融合多源數(shù)據(jù)的社團活動智能匹配算法研究與實現(xiàn)課題報告教學研究課題報告
- 沈陽外國語學校2026屆高二上數(shù)學期末預測試題含解析
- 智能安全帽解決方案-智能安全帽
- 2024年版煙霧病和煙霧綜合征診斷與治療專家共識(完整版)
- 研學旅行指導手冊
- 大學生社會支持評定量表附有答案
- 植入式靜脈給藥裝置(輸液港)-中華護理學會團體標準2023
- GB/T 2988-2023高鋁磚
- 東風7電路圖解析
- 數(shù)字填圖系統(tǒng)新版(RgMap2.0)操作手冊
- JJF 1069-2012 法定計量檢定機構考核規(guī)范(培訓講稿)
- DFMEA編制作業(yè)指導書新版
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測技術規(guī)程
評論
0/150
提交評論