----一、OLE控制方法
----VB是一個優秀的可視編程工具,全面支持對象的鏈接與嵌入OLE,利用此技術可以方便的把聲音、圖片、文本或動態圖像嵌入WINDOWS程序中,以實現多媒體控制功能。OLE的具體操作過程如下:啟動VB4.0後,在窗口中安放一個OLE控件,之後彈出窗口列出了全部可鏈接或嵌入的對象內容,此時可選擇"新建"或"由文件創建",如果只想把現成的文件內容如聲音文件、BMP圖像文件等作為對象,可選擇"由文件創建"項,此時可通過"浏覽"找到指定的文件,還有一個重要的選項,就是"鏈接"項,選擇此項有效,則指定的文件只建立與程序進行鏈接,否則是把該文件的副本嵌入程序之中;如果你想自己錄制聲音或繪制圖片,則可選擇"新建"項,在列表中選定指定的鏈接或嵌入對象,之後系統會自動打開相應的編輯工具,進入編輯狀態。在所列出的對象中,多媒體占有很多項,如聲音、MIDI音樂、等,還有一個綜合性質的“媒體剪切”,通過此項可完成所有多媒體對象的操作,包括CD唱盤及MPEG對象等。選定對象之後,如果你想更換鏈接或嵌入的對象,則可用鼠標右鍵單擊OLE對象,在彈出的菜單中選擇"Insertobject"項,會重新進入對象選擇窗口。之後的任務就是利用程序代碼來控制OLE對象,通用的指令是:
OLE1.Verb=0;代表直接播放
OLE1.Action=7;代表直接驅動OLE
如果改為如下指令:
OLE1.Verb=-1;代表進入編輯狀態
OLE1.Action=7
----二、MCI(MMControl)控制方法
----MMControl是一個專用的多媒體控件,在VB缺省狀態的部件箱中並沒有此項,必須進行手工填加,在VB5.0中可通過"工程"菜單中的"部件"項打開選擇窗口,並選中“MICROSOFTMULTIMEDIACONTROL”項,之後在部件箱中即可出現“MMCONTROL”圖標,用此控件控制多媒體的基本步驟是指定媒體對象、打開媒體對象、控制媒體對象等,比如編制CD唱盤的播放程序,可用鼠標點亮此MCI圖標,並在FROM1窗體中繪制一個長方形的區域,此時一組功能齊全的播放按鈕出現在窗口中,然後雙擊窗體空白處,打開From1的代碼窗口,此時輸入以下命令:
MMcontrol1.DeviceType="CDAudio"
MMcontrol1.command="OPEN"
MMcontrol1.DEVICETYPE="WaveAudio"
MMcontrol1.FILENAME="C:WINDOWSMEDEL.WAV"
----一般只要使用OPEN命令打開媒體對象後,MCI控件所提供的組合按鈕就會發揮作用,此時可以利用這些按鈕進行各種播放控制,此外,還可以利用MCI所提供的特殊屬性進行更加靈活的控制,具體使用方法請參考有關資料;此方法是進行多媒體程序設計的最常用的方法,它具有較簡單的操作特點,而又可以進行較細致的操作控制和較高的運行速度,適合於大部分場合的多媒體程序設計。
----三、API函數控制方法
----在VB中要實現更復雜的控制則必須依靠WINDOWS的API函數,高級的多媒體程序設計同樣也離不開WINDOWSAPI函數的參與,調用API函數之前必須對所要用的函數進行說明,可通過"APITEXTVIEWER"程序直接拷貝。在多媒體程序設計中常用的API函數如下:
----mciExecute():這是一個最簡單的函數,只有一個參數即MCI指令字符串,當出現錯誤時將自動彈出對話框;
----mciSendString():功能上與上面的函數相同,但它可以傳送相應的信息給應用程序,使用時需要四個參數,第一個是MCI命令字符串,第二個是緩沖區,第三個是緩沖區長度,第四個在VB中可恆置為0;
----mciGetErrorString():說明上一個命令所傳回的錯誤代碼所表示的意義;
----Parse():處理所傳送回來的文字信息,一般可通過VB的instr函數配合搜索指定的字符串;
----下面的代碼對TEST.WAV文件分別進行打開、播放、停止、關閉等控制:
I=mciExecute("open"test.wav"aliassound")
I=mciExecute("playsound")
I=mciExecute("stopsound")
I=mciExecute("closesound")
----還存在一個專用的多媒體控制函數,就是SndPlaySound(),此函數是一個可獨立播放WAV語音文件的函數,使用相對來說較為簡單,下面的例子可直接播放TEST.WAV文件:
I=SndPlaySound("test.wav",1)
----在實際應用中,還涉及很多具體的編程細節,比如播放進度的顯示、播放進度的改變、視頻播放的窗口控制、播放界面的設計等等,由於API函數具有VB本身所不具有的優越性,所以用此方法可編制出具有高水准的多媒體控制程序及專業程序。
----四、MCIWnd控件方法
----在VB5.0中還存在一個MCIWnd控件,此控件也可實現多媒體的簡單控制,使用很方便,具體方法,通過"工程"菜單的"部件"項打開選擇窗口,選中其中的"MCIWndXControl"項,之後在部件箱中即出現一個電影膠片式的圖標,在窗體中安放此控件,之後可通過屬性窗口指定媒體對象,也可用程序代碼實現,比如在下面的事件中輸入如下代碼:
PrivateSubForm_Load()
MCIWnd1.filename="d:mpg98.mpg"
MCIWnd1.Command="open"
MCIWnd1.Command="play"
EndSub
----程序運行之後即可直接播放98.MPG文件,如果省略其中的"PLAY"命令,則運行之後不播放但可通過下面的控制按鈕進行播放,並且可通過進度條調整進度,此控件還有一些常用屬性可用,比如:
Volume:控制聲音輸出的音量;
AutosizeWindow:是否自動調整窗口大小;
AutosizeMovie:是否自動調整播放圖像的大小;
repeat:是否重繞;
playbar:是否顯示控制條;
----此方法具有操作簡單、運行速度快的特點,但其控制手段太少,不適合編制專用的多媒體播放程序,但對於一些要求不高的場合,比如在程序嵌入活動圖像等非常適合。
----五、ActiveMovie控件方法
----ActiveMovie是微軟公司開發的活動圖像播放程序,如果系統中正確安裝了此程序,則即提供ActiveMovie控件,使用前也必須通過"部件"選擇窗口選定此控件,此控件的使用更為簡單,只要在窗體中安放一個此控件,然後通過屬性窗口或程序代碼指定一個移動圖像文件,比如:
PrivateSubForm_Load()
ActiveMovie1.filename="d:mpg98.mpg"
EndSub
----運行程序之後即可通過其控制條進行播放控制,其使用方法就和使用其原來的ActiveMovie一樣,如果想使其運行之後自動播放,則需要使用置其ActiveMovie1.AutoStart屬性為"True",但此屬性只能在窗口中進行調整,不能用程序代碼進行控制,此外還有下面的一些常用屬性:
Showcontrols:是否顯示控制條;
showdisplay:是否出現顯示窗口;
ShowpositionControls:是否顯示向前或向後按鈕;
ShowTracker:是否顯示進度條;
Showselectioncontrols:是否顯示記錄設置按鈕;
FullscreenMode:是否進入滿屏模式;
moviewindowsize:是否調整播放窗口的尺寸;
----此控件由於是微軟公司自行開發的,並且已經內嵌在WINDOWS95的OSR版本及WWINDOWS98測試版中,其性能是相當穩定和可靠的,能夠對WINDOWS95及其32位的光盤驅動器最大限度兼容,具有很多優勢,但其它控制功能的靈活性稍差一些,一般只允許對單個文件進行播放,應用在簡單的程序設計場合比較合適。
->