亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用VisualBasic設計多媒體應用程序

2019-11-18 17:36:44
字體:
來源:轉載
供稿:網友
一、前言
  隨著多媒體硬件環境和軟件環境的不斷完善,目前,大部分計算機軟件開發中都涉及多媒體軟件技術的應用。
  進行多媒體應用程序設計,從原理上說,可以采用從C 到多媒體專用開發系統(如TOOLBOOK、AUTHORWARE、DIRECTOR)等多種層次的工具。然而,由于多媒體軟件涉及的媒體復雜多樣、開發周期短并且需要多種專業人員參與,因此,為了能進行實用高效的開發,必須選用簡單易用、開發效率高的軟件。
  VisualBasic是Microsoft公司開發的Windows編程工具軟件。由于它具有先進的設計思想、快速易掌握的使用方法及控制媒體對象手段靈活多樣等特點,受到了多媒體軟件開發人員的關注和青睞,也因此成為多媒體應用程序開發的理想工具。

二、VisualBasic的多媒體控件MCI.OCX

  MCI(媒體控制接口)是Microsoft公司為實現Windows系統下設備無關性而提供的媒體控制接口標準。用戶可以方便地使用MCI控制標準的多媒體設備。

  MCI包含在Windows多媒體擴展的MMSYSTEM模塊中,用來協調事件間以及MCI設備驅動程序間的通訊,提供了與設備無關的接口屬性。通常應用程序是通過指定一個MCI設備類型來區分MCI設備,設備類型指明了當前實際使用設備的物理類型,不同的設備類型使用不同的控件屬性來進行描述(見附表1)。

  從使用的控制方式上來說,MCI設備分為復合和簡單兩類。一個簡單MCI設備并不需要設備元素。例如,CD音頻和音碟機就是在一個已經安裝好了的硬盤上工作的,它們不需要應用程序為其操作的媒體內容提供任何信息。但對于復合的MCI設備,就需要應用程序提供設備元素,即一個包含全部路徑名的源數據文件或目的文件。

  VisualBasic語言的CustomControl(用戶控制部件)概念體現了當今軟件設計的發展潮流--面向對象技術,編程者可以在VisualBasic的工具箱(Toolbox)中嵌入各式各樣五花八門的用戶控件,每個用戶控制部件都有一定的屬性和操作方法,編程者通過屬性的設置和方法的控制完成特定的功能。為了方便地控制多媒體,在專業版VisualBasic工具箱中提供了一個用于多媒體目的的用戶控件--MCI.OCX。

  多媒體MCI控件MCI.OCX專用于對多媒體控制接口MCI設備的多媒體數據文件實施記錄和回放,從目的效果上來說,該控件通過一組按鈕來發出種種設備控制命令以實現對諸如:音頻面板、MIDI音序器、CD-ROM驅動器、音頻CD播放機、錄像帶播放、錄音帶錄放等設備的控制。在VisualBasic程序設計時,當在表中加入多媒體MCI控件時(在工具箱內雙擊MCI控件),則出現下列按鈕群:向前(PRev)、向后(Next)、播放(Play)、暫停(Pause)、返回(Back)、單步(Step)、停止(Stop)、記錄(Record)和出帶(Eject)。

  應用程序對MCI的這組按鈕操作非常靈活方便,如當我們打開一個MCI設備后,就可以根據該設備類型的屬性隨時從控件中選擇合適的狀態按鈕來表示即刻設備的物理狀態。所有MCI控件可以有下列幾種方式來編程:⑴控件及其各按鈕的可見性和使能性;⑵可變或完全對控件進行重新定義;⑶在一個窗口表格中可以同時控制多個設備。

三、多媒體控制部件MCI.OCX的調用
  在VisualBasic3.0專業版中,多媒體控件MCI.OCX(在VisualBasic3.0和4.0中,多媒體控件的擴展名為.VBX)是作為可選用部件提供的。為了使用它,首先要執行File/AddFile菜單命令,把Windows/system目錄下的MCI.OCX加入到工具箱(Toolbox)中,這時會在工具箱中出現相應的MCI.OCX圖標。如果使用的是VisualBasic4.0版(或5.0版),選擇Tools/CustomControls菜單或直接鍵入Ctrl T,即可出現對話框,在AvailableControls列表框中選中MicrosoftMultimediaControls條目旁邊的檢查框,同樣會在工具箱中出現MCI.OCX圖標。
  雙擊工具箱中的多媒體控件MCI.OCX圖標,調用MCI.OCX控件之后,表單FORM中將出現一排灰色的媒體控制按鈕(九個)。

四、VisualBasic多媒體應用程序設計步驟
  多媒體控件MCI.OCX包含有一組高級的與設備無關的控制命令。在使用該多媒體控件時,首先用OPEN命令打開MCI設備(多媒體設備)并建立一個與之對應的文件,以便來進行錄或放等操作(但是對諸如CDAudio、VCR和錄像帶不能使用相應文件)。一旦設備打開成功,就可以向它發出各種操作命令(見附表的按鈕命令)來完成指定的工作任務。最后記住,要用Close命令來關閉設備和數據文件。
  使用MCI.OCX來進行多媒體應用程序開發是很方便的,因為大多數屬性都是容易理解的,其中Command屬性尤為重要,它是在運行過程中向多媒體設備發命令。格式為:
  Form.MMcontrol.Command=cmdstring$
  其中,cmdstring$變量是如下可執行命令名:Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound和Save。一旦給其命令設置,它就立刻
執行,所發生的錯誤存在Error屬性中。
  下面以播放DEMO.WAV(波形文件)文件為例,說明VisualBasic多媒體應用程序設計
步驟。
  首先,創建一個包含有多媒體控件(MCI.OCX)的表格(Form),于是屏幕上顯示出形狀類似錄音機的控制鍵,不過這時多媒體控制部件是不能馬上拿來用的(各鍵呈灰色),須通
過程序代碼來改變鍵的狀態。
  其次,在Form_Load過程中,插入相應程序代碼。如下
  SubForm_Load()
  ‘在發出OPEN命令前要設置多媒體設備的屬性
  Form1.MMControl1.Notify=False
  Form1.MMControl1.Wait=True
  Form1.MMControl1.Shareable=False
  Form1.MMControl1.DeviceType="WaveAudio"
  Form1.MMControl1.FileName="c:/windowss/
  mmdata/demo.wav"
  Form1.MMControl1.Command="Open"
  EndSub

  最后,運行上述程序,控制鍵呈黑色,這時就可以使用Play、Record等鍵操作數據文件DEMO.WAV了。例如用鼠標點按Play鍵就能聽到.WAV音效(計算機應裝有發音設備)。
  通過上面陳述,不難發現,VisualBasic利用多媒體控件MCI.OCX設計多媒體應用程序很容易掌握。

五、VisualBasic多媒體應用程序設計實例
  1、播放CD音樂
  在很多多媒體軟件系統中,都提供了激光唱盤的播放軟件,利用多媒體控件MCI.OCX,我們可以輕松地編制出符合自己使用要求的簡易激光唱盤播放機。
  表1給出了簡易CD播放器的主要控制部件定義,其后是對應于各個觸發事件的源程序代碼。
完整的源程序清單如下:
  'CD播放機實用程序
  '運行程序前請在CD-ROM驅動器中裝入一張激光唱碟'“LOAD”按鈕觸發事件
  PrivateSubCommand1_Click()
  '裝入CD唱片
  OnErrorGoToMCI_ERROR
  MMControl1.Command="Open"
  OnErrorGoTo0
  '設置時間格式
  MMControl1.TimeFormat=vbMCIFormatTmsf
  '關閉LOAD按鈕,顯示圖片
  Command1.Enabled=False
  Picture1.Picture=Picture3.Picture
  '設置初始軌道數
  Label1.Caption="1"
  ExitSub
  MCI_ERROR:
  DisplayErrorMessageBox
  ResumeMCI_EXIT
  MCI_EXIT:
  UnloadCD
  EndSub

  PrivateSubForm_Load()
  MMControl1.Wait=True
  MMControl1.UpdateInterval=0
  '設置設備類型
  MMControl1.DeviceType="CDAudio"
  '設置缺省軌道數為0
  Label1.Caption="0"
  EndSub

  PrivateSubForm_Unload(CancelAsInteger)
  MCITest.Show
  EndSub

  '“出帶”按鈕觸發事件
  PrivateSubMMControl1_EjectClick(CancelAsInteger)
  Command1.Enabled=True
  Picture1.Picture=Picture2.Picture
  MMControl1.UpdateInterval=0
  OnErrorGoToMCI_ERROR2
  MMControl1.Command="Eject"
  MMControl1.Command="Close"
  OnErrorGoTo0
  Label1.Caption="0"
  Label3.BackColor=&H404040
  ExitSub
  MCI_ERROR2:
  DisplayErrorMessageBox
  ResumeNext
  EndSub

  '“向前”按鈕觸發事件
  PrivateSubMMControl1_NextCompleted(ErrorCodeAsLong)
  Label1.Caption=Str$(MMControl1.Track)
  EndSub

  '“暫?!卑粹o觸發事件
  PrivateSubMMControl1_PauseClick(CancelAsInteger)
  MMControl1.UpdateInterval=0
  Label3.BackColor=&H404040
  EndSub

  '“播放”按鈕觸發事件
  PrivateSubMMControl1_PlayClick(CancelAsInteger)
  MMControl1.UpdateInterval=1000
  Label1.Caption=Str$(MMControl1.Track)
  EndSub

  '“向后”按鈕觸發事件
  PrivateSubMMControl1_PrevCompleted(ErrorCodeAsLong)
  Label1.Caption=Str$(MMControl1.Track)
  EndSub

  PrivateSubMMControl1_StatusUpdate()
  Label1.Caption=Str$(MMControl1.PositionAnd&HFF)
  IfMMControl1.Mode=vbMCIModePlayThen
  Label3.BackColor=&H80FF&
  Else
  Label3.BackColor=&H404040
  EndIf
  EndSub

  '“停止”按鈕觸發事件
  PrivateSubMMControl1_StopClick(CancelAsInteger)
  MMControl1.UpdateInterval=0
  Label3.BackColor=&H404040
  MMControl1.To=MMControl1.Start
  MMControl1.Command="Seek"
  MMControl1.Track=1
  Label1.Caption="1"
  EndSub

  2、播放AVI(音頻視頻接口)文件
  電影(包括聲音和圖像)是廣大計算機工作者最為關心的媒體信息之一,電影處理技術也是多媒體關鍵技術之一。而在多媒體系統中,AVI(AudioVideoInterface,音頻視頻接
口)文件是存儲電影(包括聲音和圖像)的標準格式,這些AVI文件一般是通過捕獲實時視頻信號得來的,也可以通過掃描儀獲取圖像或者使用動畫制作軟件得到。于是,屏幕窗口上的音頻視頻操作,就變成了對AVI文件(文件后綴為AVI)的處理。在實際工作中,播放AVI文件(即影片)的方法有許多種,而其中以利用VisualBasic的多媒體控件方法最為簡單、方便。下面以一個具體實例來說明如何播放AVI文件:假設用戶當前目錄下有名字為DEMO.AVI的視頻音頻文件,則利用VisulBasic播放該影片需要經過
如下步驟:
 ?。?)在VisualBasic的窗體中加入一個MMControl多媒體控件、一個PictureBox圖片框控件和兩個ComandButton命令按鈕部件;
 ?。?)設置各個控件的屬性,其中窗體命名為Form1,MMControl多媒體控件命名為MMControl1、PictureBox圖片框控件命名為Picture1、兩個ComandButton命令按鈕控件分別命名為Play和Close;
 ?。?)編寫各觸發事件源程序代碼并且運行。源程序代碼為:
  PrivateSubPlay_Click()
  MMControl1.Filename="DEMO.AVI"
  MMControl1.DeviceType=="AVIVIDEO"
  MMControl1.hWndDisplay=Picture1.hWnd
  MMControl1.Command="OPEN"
  MMControl1.To=1
  MMControl1.Command="SEEK"
  MMControl1.Command="PLAY"
  EndSub
  PrivateSubClose_Click()
  MMControl1.Command="STOP"
  MMControl1.Command="CLOSE"
  EndSub
  值得注意的是:在播放AVI文件之前,首先應該把AVI(音頻視頻)驅動程序安裝在Windows下。AVI的驅動程序名為MCIAVI.DRV,必須將它拷貝到/WINDOWS/SYSTEM目錄下,同時在SYSTEM.INI文件的[MCI]部分加上:
  AVIVIDEO=MCIAVI.DRV
  這樣,運行Windows時,Windows會自動地將AVI的驅動程序安裝好。
  以上僅描述了利用多媒體控制部件播放音頻文件(.WAV)、CD唱片和音頻視頻文件(.AVI)的操作過程。實際上利用多媒體控制部件同樣可以播放動畫文件(.FLI、.FLC)、MIDI
文件等其他媒體信息。

六、結束語
  通過前面論述,不難看出:利用VisualBasic提供的多媒體控制部件MCI.OCX,廣大計算機用戶可以方便、快捷、高效率地開發出各種多媒體應用程序。但需要強調的是:開發設計VisualBasic多媒體應用程序,除了可以利用多媒體控制部件以外,還可以采用其他手段,例如通過調用API函數等等(鑒于篇幅,這里未做討論)。可見,VisualBasic確實是專業與非專業多媒體軟件開發人員共同擁有的理想開發工具。

附表1MCI設備類型定義
設備類型 設備描述
CDAudio  激光唱盤播放設備
DAT    數字化磁帶音頻播放機
DigitalVideo動態數字視頻圖像設備
Animation 動畫播放設備
Other   未給出標準定義的MCI設備
Overlay  模擬視頻圖像疊加設備
Sequence  MIDI音序發生器
VCR    可以使用程序控制的磁盤錄像機
VideoDisc 可以使用程序控制的激光視盤機
WaveAudio 播放數字化波形音頻的設備

附表2多媒體控制部件特有事件列表
事件      說明
Done      完成MCI命令動作(Notify為真)
ButtonClick  單擊按鈕
ButtonCompleted按鈕執行命令完成
ButtonGetFocus 按鈕獲得輸入焦點
ButtonLostFocus按鈕失去輸入焦點
StatusUpdate  更新媒體控制對象的狀態信息->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久av在线看| 第一福利永久视频精品| 国产精品一区二区久久| 欧美福利在线观看| 日韩成人在线电影网| 国产精品免费福利| 爽爽爽爽爽爽爽成人免费观看| 在线免费观看羞羞视频一区二区| 尤物yw午夜国产精品视频| 亚洲国产精品一区二区三区| 疯狂做受xxxx高潮欧美日本| 亚洲va欧美va在线观看| 亚洲天堂av在线免费观看| 日韩国产精品视频| 亚洲免费视频在线观看| 一区二区三区在线播放欧美| 久久久黄色av| 成人深夜直播免费观看| 综合久久五月天| 欧美电影在线观看| 日韩精品视频三区| 亚洲开心激情网| 黑人极品videos精品欧美裸| 91久久在线观看| 亚洲午夜av电影| 亚洲视频自拍偷拍| 亚洲女人被黑人巨大进入al| 久久国产精品久久久久| 久久精品国产成人精品| 成人亚洲综合色就1024| 欧美黑人巨大xxx极品| 综合国产在线视频| 一本大道亚洲视频| 国产亚洲人成网站在线观看| 精品小视频在线| 欧美成人精品一区二区| 欧日韩在线观看| 色偷偷噜噜噜亚洲男人| 中文字幕欧美日韩精品| 亚洲在线观看视频网站| 中文字幕精品在线视频| 欧美成人精品不卡视频在线观看| 色噜噜狠狠狠综合曰曰曰88av| 亚洲精品在线观看www| 日韩精品在线观看网站| 伊人久久免费视频| 麻豆成人在线看| 国产福利精品视频| 69视频在线播放| 亚洲精品影视在线观看| 91av福利视频| 成人免费视频xnxx.com| 91视频九色网站| 91精品视频播放| 亚洲热线99精品视频| 亚洲精品资源美女情侣酒店| 亚洲精品中文字幕av| 91高清视频在线免费观看| 欧美黄色片视频| 欧洲中文字幕国产精品| 亚洲日本欧美日韩高观看| 国产精品爽爽爽爽爽爽在线观看| 国产欧美久久一区二区| 亚洲成**性毛茸茸| 欧美日韩亚洲系列| 欧美性猛交xxxx黑人| 热久久这里只有精品| 最近中文字幕日韩精品| 久久久久亚洲精品| 亚洲国产一区二区三区在线观看| 久久这里有精品视频| 91chinesevideo永久地址| 国产精品专区一| 菠萝蜜影院一区二区免费| 91社影院在线观看| 国产精品视频永久免费播放| 国产欧美精品va在线观看| 91社区国产高清| 国产精品美女久久久免费| 欧美精品在线网站| 国产精品视频一区二区三区四| 国产欧美在线观看| 上原亚衣av一区二区三区| 亚洲女人天堂成人av在线| 96精品视频在线| 欧美一级黑人aaaaaaa做受| 国产亚洲a∨片在线观看| 久久精品国产电影| 久久精品国产91精品亚洲| 亚洲成人精品视频在线观看| 国产精品三级久久久久久电影| 亚洲偷熟乱区亚洲香蕉av| 91福利视频在线观看| 日韩大陆欧美高清视频区| 欧美日在线观看| 中文字幕亚洲欧美日韩高清| 国内久久久精品| 国产日本欧美一区二区三区在线| 97香蕉超级碰碰久久免费的优势| 国产欧美va欧美va香蕉在| 欧美日韩国产精品专区| 国产精品美女视频网站| 高跟丝袜欧美一区| 国产亚洲美女久久| 亚洲欧美中文日韩在线v日本| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品久久久久9999| 亚洲v日韩v综合v精品v| 亚洲精品在线看| 欧美视频裸体精品| 亚洲男人天堂网站| 久久久久久久久久av| 久久精品一区中文字幕| 国产精品久久久久久久久| 精品呦交小u女在线| 国产一区二区美女视频| 亚洲人成伊人成综合网久久久| 久久精视频免费在线久久完整在线看| 清纯唯美日韩制服另类| 欧美天天综合色影久久精品| 欧美黑人极品猛少妇色xxxxx| 日韩欧美国产骚| 国自产精品手机在线观看视频| 一二美女精品欧洲| 国产乱肥老妇国产一区二| 亚洲国产成人爱av在线播放| 亚洲国内精品在线| www国产精品视频| 精品中文字幕在线观看| 久久免费国产视频| 7777免费精品视频| 国产精品视频一区国模私拍| 精品国产一区二区在线| 国产精品视频白浆免费视频| 国产欧美精品日韩| 一本色道久久综合狠狠躁篇怎么玩| 精品中文视频在线| 91欧美精品成人综合在线观看| 日韩电影视频免费| 波霸ol色综合久久| 免费av一区二区| 日本一区二区不卡| 88国产精品欧美一区二区三区| 国产精品久久久久久久美男| 国产精品27p| 日韩av在线看| 日韩精品免费观看| 一区二区中文字幕| 91精品国产自产在线| 国产69久久精品成人| 久久精品国产免费观看| …久久精品99久久香蕉国产| 久久夜色精品亚洲噜噜国产mv| 欧美夫妻性生活视频| 国产欧美日韩丝袜精品一区| 亚洲在线视频福利| 中文字幕久久久av一区| 亚洲网站视频福利| 国产精品免费久久久久影院| 欧美成人午夜激情| 成人美女免费网站视频| 欧美另类极品videosbestfree| 国产精品成人一区二区| www.日韩免费|