麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

VisualBasic設計多媒體應用程序

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

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

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

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

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

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

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

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

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

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

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

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

  PrivateSubForm_Load()
  MMControl1.Wait=True
  MMControl1.UpdateInterval=0
  `設置設備類型
  MMControl1.DeviceType="CDAudio"
  `設置缺省軌道數(shù)為0
  Label1.Caption="0"
 ndSub

  PrivateSubForm_Unload(CancelAsInteger)
  MCITest.Show
  EndSub

  '“出帶”按鈕觸發(fā)事件
  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

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

  '“暫停”按鈕觸發(fā)事件
  PrivateSubMMControl1_PauseClick(CancelAsInteger)
  MMControl1.UpdateInterval=0
  Label3.BackColor=&H404040
  EndSub

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

  '“向后”按鈕觸發(fā)事件
  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

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

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

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

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 4p嗯啊巨肉寝室调教男男视频 | 免费一级毛片观看 | 一级国产精品一级国产精品片 | 国产精品久久久久久久久久大牛 | 国产影院一区 | 中文字幕精品一二三四五六七八 | 成人aaaaa片毛片按摩 | 中文字幕欧美一区二区三区 | 91精品国产91久久久久久不卞 | 免费人成在线观看网站 | 九九色网站 | 欧美成年人在线视频 | 成人在线观看免费爱爱 | 久久综合色区 | 免费看成年人网站 | 黄片一级毛片 | 一本视频在线观看 | 91看片欧美| 国产精品观看在线亚洲人成网 | 亚洲电影在线播放 | 日本免费不卡一区二区 | 激情五月少妇a | chinesegv男男猛男无套 | 国产精品片一区二区三区 | a视频网站 | 久草网在线 | 在线播放黄色片 | 成片免费大全 | 亚洲小视频在线 | 性欧美极品xxxx欧美一区二区 | 国产成人在线一区二区 | 亚洲片在线观看 | 日本一区二区三区视频在线 | 成人在线视频免费看 | 一本色道精品久久一区二区三区 | 日本aaaa片毛片免费观看视频 | 98国内自拍在线视频 | 国产羞羞视频在线观看 | 欧美精品一区二区性色 | 久久不射电影网 | 国产88久久久国产精品免费二区 |