----一、OLE控制方法
----VB是一個(gè)優(yōu)秀的可視編程工具,全面支持對(duì)象的鏈接與嵌入OLE,利用此技術(shù)可以方便的把聲音、圖片、文本或動(dòng)態(tài)圖像嵌入WINDOWS程序中,以實(shí)現(xiàn)多媒體控制功能。OLE的具體操作過(guò)程如下:啟動(dòng)VB4.0后,在窗口中安放一個(gè)OLE控件,之后彈出窗口列出了全部可鏈接或嵌入的對(duì)象內(nèi)容,此時(shí)可選擇"新建"或"由文件創(chuàng)建",如果只想把現(xiàn)成的文件內(nèi)容如聲音文件、BMP圖像文件等作為對(duì)象,可選擇"由文件創(chuàng)建"項(xiàng),此時(shí)可通過(guò)"瀏覽"找到指定的文件,還有一個(gè)重要的選項(xiàng),就是"鏈接"項(xiàng),選擇此項(xiàng)有效,則指定的文件只建立與程序進(jìn)行鏈接,否則是把該文件的副本嵌入程序之中;如果你想自己錄制聲音或繪制圖片,則可選擇"新建"項(xiàng),在列表中選定指定的鏈接或嵌入對(duì)象,之后系統(tǒng)會(huì)自動(dòng)打開(kāi)相應(yīng)的編輯工具,進(jìn)入編輯狀態(tài)。在所列出的對(duì)象中,多媒體占有很多項(xiàng),如聲音、MIDI音樂(lè)、等,還有一個(gè)綜合性質(zhì)的“媒體剪切”,通過(guò)此項(xiàng)可完成所有多媒體對(duì)象的操作,包括CD唱盤(pán)及MPEG對(duì)象等。選定對(duì)象之后,如果你想更換鏈接或嵌入的對(duì)象,則可用鼠標(biāo)右鍵單擊OLE對(duì)象,在彈出的菜單中選擇"Insertobject"項(xiàng),會(huì)重新進(jìn)入對(duì)象選擇窗口。之后的任務(wù)就是利用程序代碼來(lái)控制OLE對(duì)象,通用的指令是:
OLE1.Verb=0;代表直接播放
OLE1.Action=7;代表直接驅(qū)動(dòng)OLE
如果改為如下指令:
OLE1.Verb=-1;代表進(jìn)入編輯狀態(tài)
OLE1.Action=7
----二、MCI(MMControl)控制方法
----MMControl是一個(gè)專(zhuān)用的多媒體控件,在VB缺省狀態(tài)的部件箱中并沒(méi)有此項(xiàng),必須進(jìn)行手工填加,在VB5.0中可通過(guò)"工程"菜單中的"部件"項(xiàng)打開(kāi)選擇窗口,并選中“MICROSOFTMULTIMEDIACONTROL”項(xiàng),之后在部件箱中即可出現(xiàn)“MMCONTROL”圖標(biāo),用此控件控制多媒體的基本步驟是指定媒體對(duì)象、打開(kāi)媒體對(duì)象、控制媒體對(duì)象等,比如編制CD唱盤(pán)的播放程序,可用鼠標(biāo)點(diǎn)亮此MCI圖標(biāo),并在FROM1窗體中繪制一個(gè)長(zhǎng)方形的區(qū)域,此時(shí)一組功能齊全的播放按鈕出現(xiàn)在窗口中,然后雙擊窗體空白處,打開(kāi)From1的代碼窗口,此時(shí)輸入以下命令:
MMcontrol1.DeviceType="CDAudio"
MMcontrol1.command="OPEN"
MMcontrol1.DEVICETYPE="WaveAudio"
MMcontrol1.FILENAME="C:/WINDOWS/MEDEL.WAV"
----一般只要使用OPEN命令打開(kāi)媒體對(duì)象后,MCI控件所提供的組合按鈕就會(huì)發(fā)揮作用,此時(shí)可以利用這些按鈕進(jìn)行各種播放控制,此外,還可以利用MCI所提供的特殊屬性進(jìn)行更加靈活的控制,具體使用方法請(qǐng)參考有關(guān)資料;此方法是進(jìn)行多媒體程序設(shè)計(jì)的最常用的方法,它具有較簡(jiǎn)單的操作特點(diǎn),而又可以進(jìn)行較細(xì)致的操作控制和較高的運(yùn)行速度,適合于大部分場(chǎng)合的多媒體程序設(shè)計(jì)。
----三、API函數(shù)控制方法
----在VB中要實(shí)現(xiàn)更復(fù)雜的控制則必須依靠WINDOWS的API函數(shù),高級(jí)的多媒體程序設(shè)計(jì)同樣也離不開(kāi)WINDOWSAPI函數(shù)的參與,調(diào)用API函數(shù)之前必須對(duì)所要用的函數(shù)進(jìn)行說(shuō)明,可通過(guò)"APITEXTVIEWER"程序直接拷貝。在多媒體程序設(shè)計(jì)中常用的API函數(shù)如下:
----mciExecute():這是一個(gè)最簡(jiǎn)單的函數(shù),只有一個(gè)參數(shù)即MCI指令字符串,當(dāng)出現(xiàn)錯(cuò)誤時(shí)將自動(dòng)彈出對(duì)話(huà)框;
----mciSendString():功能上與上面的函數(shù)相同,但它可以傳送相應(yīng)的信息給應(yīng)用程序,使用時(shí)需要四個(gè)參數(shù),第一個(gè)是MCI命令字符串,第二個(gè)是緩沖區(qū),第三個(gè)是緩沖區(qū)長(zhǎng)度,第四個(gè)在VB中可恒置為0;
----mciGetErrorString():說(shuō)明上一個(gè)命令所傳回的錯(cuò)誤代碼所表示的意義;
----Parse():處理所傳送回來(lái)的文字信息,一般可通過(guò)VB的instr函數(shù)配合搜索指定的字符串;
----下面的代碼對(duì)TEST.WAV文件分別進(jìn)行打開(kāi)、播放、停止、關(guān)閉等控制:
I=mciExecute("open"test.wav"aliassound")
I=mciExecute("playsound")
I=mciExecute("stopsound")
I=mciExecute("closesound")
----還存在一個(gè)專(zhuān)用的多媒體控制函數(shù),就是SndPlaySound(),此函數(shù)是一個(gè)可獨(dú)立播放WAV語(yǔ)音文件的函數(shù),使用相對(duì)來(lái)說(shuō)較為簡(jiǎn)單,下面的例子可直接播放TEST.WAV文件:
I=SndPlaySound("test.wav",1)
----在實(shí)際應(yīng)用中,還涉及很多具體的編程細(xì)節(jié),比如播放進(jìn)度的顯示、播放進(jìn)度的改變、視頻播放的窗口控制、播放界面的設(shè)計(jì)等等,由于API函數(shù)具有VB本身所不具有的優(yōu)越性,所以用此方法可編制出具有高水準(zhǔn)的多媒體控制程序及專(zhuān)業(yè)程序。
----四、MCIWnd控件方法
----在VB5.0中還存在一個(gè)MCIWnd控件,此控件也可實(shí)現(xiàn)多媒體的簡(jiǎn)單控制,使用很方便,具體方法,通過(guò)"工程"菜單的"部件"項(xiàng)打開(kāi)選擇窗口,選中其中的"MCIWndXControl"項(xiàng),之后在部件箱中即出現(xiàn)一個(gè)電影膠片式的圖標(biāo),在窗體中安放此控件,之后可通過(guò)屬性窗口指定媒體對(duì)象,也可用程序代碼實(shí)現(xiàn),比如在下面的事件中輸入如下代碼:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注