一個簡單地vb開發(fā)多媒體播放器軟件的方法

字號:

一、前言
    隨著多媒體硬件環(huán)境和軟件環(huán)境的不斷完善,目前,大部分計(jì)算機(jī)軟件開發(fā)中都涉及多媒體軟件技術(shù)的應(yīng)用。
    進(jìn)行多媒體應(yīng)用程序設(shè)計(jì),從原理上說,可以采用從C++到多媒體專用開發(fā)系統(tǒng)(如TOOLBOOK、Authorware、Director)等多種層次的工具。然而,由于多媒體軟件涉及的媒體復(fù)雜多樣、開發(fā)周期短并且需要多種專業(yè)人員參與,因此,為了能進(jìn)行實(shí)用高效的開發(fā),必須選用簡單易用、開發(fā)效率高的軟件。
    Visual Basic是Microsoft公司開發(fā)的Windows編程工具軟件。由于它具有先進(jìn)的設(shè)計(jì)思想、快速易掌握的使用方法及控制媒體對象手段靈活多樣等特點(diǎn),受到了多媒體軟件開發(fā)人員的關(guān)注和青睞,也因此成為多媒體應(yīng)用程序開發(fā)的理想工具。
    二、Visual Basic的多媒體控件MCI.OCX
    MCI(媒體控制接口)是Microsoft公司為實(shí)現(xiàn)Windows系統(tǒng)下設(shè)備無關(guān)性而提供的媒體控制接口標(biāo)準(zhǔn)。用戶可以方便地使用MCI控制標(biāo)準(zhǔn)的多媒體設(shè)備。
    MCI包含在Windows多媒體擴(kuò)展的MMSYSTEM模塊中,用來協(xié)調(diào)事件間以及MCI設(shè)備驅(qū)動程序間的通訊,提供了與設(shè)備無關(guān)的接口屬性。通常應(yīng)用程序是通過指定一個MCI設(shè)備類型來區(qū)分MCI設(shè)備,設(shè)備類型指明了當(dāng)前實(shí)際使用設(shè)備的物理類型,不同的設(shè)備類型使用不同的控件屬性來進(jìn)行描述(見附表1)。
    從使用的控制方式上來說,MCI設(shè)備分為復(fù)合和簡單兩類。一個簡單MCI設(shè)備并不需要設(shè)備元素。例如,CD音頻和音碟機(jī)就是在一個已經(jīng)安裝好了的硬盤上工作的,它們不需要應(yīng)用程序?yàn)槠洳僮鞯拿襟w內(nèi)容提供任何信息。但對于復(fù)合的MCI設(shè)備,就需要應(yīng)用程序提供設(shè)備元素,即一個包含全部路徑名的源數(shù)據(jù)文件或目的文件。
    Visual Basic語言的Custom Control(用戶控制部件)概念體現(xiàn)了當(dāng)今軟件設(shè)計(jì)的發(fā)展潮流--面向?qū)ο蠹夹g(shù),編程者可以在Visual Basic的工具箱(Toolbox)中嵌入各式各樣五花八門的用戶控件,每個用戶控制部件都有一定的屬性和操作方法,編程者通過屬性的設(shè)置和方法的控制完成特定的功能。為了方便地控制多媒體,在專業(yè)版Visual Basic工具箱中提供了一個用于多媒體目的的用戶控件--MCI.OCX。
    多媒體MCI控件MCI.OCX專用于對多媒體控制接口MCI設(shè)備的多媒體數(shù)據(jù)文件實(shí)施記錄和回放,從目的效果上來說,該控件通過一組按鈕來發(fā)出種種設(shè)備控制命令以實(shí)現(xiàn)對諸如:音頻面板、MIDI音序器、CD-ROM驅(qū)動器、音頻CD播放機(jī)、錄像帶播放、錄音帶錄放等設(shè)備的控制。在Visual Basic程序設(shè)計(jì)時,當(dāng)在表中加入多媒體MCI控件時(在工具箱內(nèi)雙擊MCI控件),則出現(xiàn)下列按鈕群:向前(Prev)、向后(Next)、播放(Play)、暫停(Pause)、返回(Back)、單步(Step)、停止(Stop)、記錄(Record)和出帶(Eject)。
    應(yīng)用程序?qū)CI的這組按鈕操作非常靈活方便,如當(dāng)我們打開一個MCI設(shè)備后,就可以根據(jù)該設(shè)備類型的屬性隨時從控件中選擇合適的狀態(tài)按鈕來表示即刻設(shè)備的物理狀態(tài)。所有MCI控件可以有下列幾種方式來編程:⑴控件及其各按鈕的可見性和使能性;⑵可變或完全對控件進(jìn)行重新定義;⑶在一個窗口表格中可以同時控制多個設(shè)備。
    三、多媒體控制部件MCI.OCX的調(diào)用
    在Visual Basic3.0專業(yè)版中,多媒體控件MCI.OCX(在Visual Basic 3.0和4.0中,多媒體控件的擴(kuò)展名為.VBX)是作為可選用部件提供的。為了使用它,首先要執(zhí)行FileAdd File菜單命令,把Windowssystem目錄下的MCI.OCX加入到工具箱(Toolbox)中,這時會在工具箱中出現(xiàn)相應(yīng)的MCI.OCX圖標(biāo)。如果使用的是Visual Basic4.0版(或5.0版),選擇oolsCustom Controls菜單或直接鍵入Ctrl+T,即可出現(xiàn)對話框,在Available Controls列表框中選中Microsoft Multimedia Controls條目旁邊的檢查框,同樣會在工具箱中出現(xiàn)MCI.OCX圖標(biāo)。
    雙擊工具箱中的多媒體控件MCI.OCX圖標(biāo),調(diào)用MCI.OCX控件之后,表單FORM中將出現(xiàn)一排灰色的媒體控制按鈕(九個)。
    四、Visual Basic多媒體應(yīng)用程序設(shè)計(jì)步驟
    多媒體控件MCI.OCX包含有一組高級的與設(shè)備無關(guān)的控制命令。在使用該多媒體控件時,首先用OPEN命令打開MCI設(shè)備(多媒體設(shè)備)并建立一個與之對應(yīng)的文件,以便來進(jìn)行錄或放等操作(但是對諸如CDAudio、VCR和錄像帶不能使用相應(yīng)文件)。一旦設(shè)備打開成功,就可以向它發(fā)出各種操作命令(見附表的按鈕命令)來完成指定的工作任務(wù)。最后記住,要用Close命令來關(guān)閉設(shè)備和數(shù)據(jù)文件。
    使用MCI.OCX來進(jìn)行多媒體應(yīng)用程序開發(fā)是很方便的,因?yàn)榇蠖鄶?shù)屬性都是容易理解的,其中Command屬性尤為重要,它是在運(yùn)行過程中向多媒體設(shè)備發(fā)命令。格式為:
    Form.Mmcontrol.Command=cmdstring$
    其中,cmdstring$變量是如下可執(zhí)行命令名:Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound和Save。一旦給其命令設(shè)置,它就立刻執(zhí)行,所發(fā)生的錯誤存在Error屬性中。
    下面以播放DEMO.WAV(波形文件)文件為例,說明Visual Basic多媒體應(yīng)用程序設(shè)計(jì)步驟。
    首先,創(chuàng)建一個包含有多媒體控件(MCI.OCX)的表格(Form),于是屏幕上顯示出形狀類似錄音機(jī)的控制鍵,不過這時多媒體控制部件是不能馬上拿來用的(各鍵呈灰色),須通過程序代碼來改變鍵的狀態(tài)。
    其次,在Form_Load過程中,插入相應(yīng)程序代碼。如下
    Sub Form_Load()
    ‘在發(fā)出 OPEN 命令前要設(shè)置多媒體設(shè)備的屬性
    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"
    End Sub
    最后,運(yùn)行上述程序,控制鍵呈黑色,這時就可以使用Play、Record等鍵操作數(shù)據(jù)文件DEMO.WAV了。例如用鼠標(biāo)點(diǎn)按Play鍵就能聽到.WAV音效(計(jì)算機(jī)應(yīng)裝有發(fā)音設(shè)備)。
    通過上面陳述,不難發(fā)現(xiàn),Visual Basic利用多媒體控件MCI.OCX設(shè)貧嗝教逵τ貿(mào)?序很容易掌握。