VB中多媒體五種控制手段

發表于:2007-07-14來源:作者:點擊數: 標簽:
作者:金鳳霞 計算機的多媒體技術已經廣泛普及, 相應的在計算機編程領域中又多出了一個多媒體控制技術, 對于一般的用戶來說, 采用可視化編程工具是最好的選擇, VB就是其中一個典型的代表。在VB中一般有三種方法可以對多媒體對象進行控制, 其方法各具特色, 下
作者:金鳳霞

計算機的多媒體技術已經廣泛普及, 相應的在計算機編程領域中又多出了一個多媒體控制技術, 對于一般的用戶來說, 采用可視化編程工具是最好的選擇, VB就是其中一個典型的代表。在VB中一般有三種方法可以對多媒體對象進行控制, 其方法各具特色, 下面簡單介紹VB多媒本幾種控制方法的具體過程。

---- 一、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

---- 則啟動OLE1時會調出相應的工具軟件進行播放并允許進行編輯; 用此方法控制多媒體最顯著的優點就是, 操作非常簡單, 缺點是運行時需要頻繁的磁盤交換過程, 運行速度較慢。
---- 二、MCI(MMControl)控制方法

---- MMControl 是一個專用的多媒體控件, 在VB缺省狀態的部件箱中并沒有此項, 必須進行手工填加, 在 VB5.0中可通過 "工程"菜單中的"部件" 項打開選擇窗口, 并選中 “MICROSOFT MULTIMEDIA CONTROL”項, 之后在部件箱中即可出現“MM CONTROL”圖標,用此控件控制多媒體的基本步驟是指定媒體對象、打開媒體對象、控制媒體對象等,比如編制CD唱盤的播放程序, 可用鼠標點亮此MCI圖標,并在FROM1 窗體中繪制一個長方形的區域, 此時一組功能齊全的播放按鈕出現在窗口中, 然后雙擊窗體空白處, 打開 From1 的代碼窗口, 此時輸入以下命令:

MMcontrol1.DeviceType="CDAudio"
MMcontrol1.command="OPEN"

---- 運行程序之后, 窗口中的有關按鈕變成深色, 說明已經能夠正常使用, 按下PLAY鍵,美妙的音樂就會隨之送出;使用此方法控制多媒體, 首先要了解系統中的媒體設備種類和具體的設備名稱, 具體可通過WINDOWS目錄中的SYSTEM.INI 文件中得到, 其[MCI] 小節等號前面即為各種多媒體驅動程序類型, 可直接用MMcontrol1.DeviceType 命令打開, 如果涉及多媒體文件還必須指明具體的文件名, 比如指定一個WAV 文件:
MMcontrol1.DEVICETYPE="WaveAudio"
MMcontrol1.FILENAME="e:\WINDOWS\MEDEL.WAV"

---- 一般只要使用OPEN命令打開媒體對象后,MCI控件所提供的組合按鈕就會發揮作用, 此時可以利用這些按鈕進行各種播放控制,此外, 還可以利用MCI所提供的特殊屬性進行更加靈活的控制,具體使用方法請參考有關資料;此方法是進行多媒體程序設計的最常用的方法,它具有較簡單的操作特點,而又可以進行較細致的操作控制和較高的運行速度,適合于大部分場合的多媒體程序設計。

---- 三、API函數控制方法

---- 在VB中要實現更復雜的控制則必須依靠WINDOWS的API 函數,高級的多媒體程序設計同樣也離不開WINDOWS API函數的參與,調用API函數之前必須對所要用的函數進行說明, 可通過"API TEXTVIEWER"程序直接拷貝。在多媒體程序設計中常用的API函數如下:

---- mciExecute():這是一個最簡單的函數,只有一個參數即MCI指令字符串, 當出現錯誤時將自動彈出對話框;

---- mciSendString():功能上與上面的函數相同, 但它可以傳送相應的信息給應用程序, 使用時需要四個參數, 第一個是MCI命令字符串, 第二個是緩沖區,第三個是緩沖區長度, 第四個在VB中可恒置為0;

---- mciGetErrorString():說明上一個命令所傳回的錯誤代碼所表示的意義;

---- Parse():處理所傳送回來的文字信息, 一般可通過VB 的instr函數配合搜索指定的字符串;

---- 下面的代碼對TEST.WAV文件分別進行打開、播放、停止、關閉等控制:

i=mciExecute("open "test.wav" alias sound")
i=mciExecute("play sound")
i=mciExecute("stop sound")
i=mciExecute("close sound")

---- 還存在一個專用的多媒體控制函數,就是SndPlaySound(), 此函數是一個可獨立播放WAV 語音文件的函數, 使用相對來說較為簡單,下面的例子可直接播放TEST.WAV文件:

i=SndPlaySound("test.wav",1)

---- 在實際應用中, 還涉及很多具體的編程細節, 比如播放進度的顯示、播放進度的改變、視頻播放的窗口控制、播放界面的設計等等,由于API 函數具有VB本身所不具有的優越性, 所以用此方法可編制出具有高水準的多媒體控制程序及專業程序。

---- 四、MCIWnd控件方法

---- 在VB5.0中還存在一個MCIWnd控件,此控件也可實現多媒體的簡單控制, 使用很方便, 具體方法, 通過"工程"菜單的"部件"項打開選擇窗口, 選中其中的"MCIWndX Control" 項, 之后在部件箱中即出現一個電影膠片式的圖標, 在窗體中安放此控件, 之后可通過屬性窗口指定媒體對象, 也可用程序代碼實現, 比如在下面的事件中輸入如下代碼:

Private Sub Form_Load()
MCIWnd1.filename = "d:\mpg\98.mpg"
MCIWnd1.Command = "open"
MCIWnd1.Command = "play"
End Sub

---- 程序運行之后即可直接播放98.MPG文件, 如果省略其中的 "PLAY"命令, 則運行之后不播放但可通過下面的控制按鈕進行播放, 并且可通過進度條調整進度, 此控件還有一些常用屬性可用, 比如:

Volume:控制聲音輸出的音量;
AutosizeWindow:是否自動調整窗口大小;
AutosizeMovie:是否自動調整播放圖像的大小;
repeat :是否重繞;
playbar:是否顯示控制條;

---- 此方法具有操作簡單、運行速度快的特點, 但其控制手段太少, 不適合編制專用的多媒體播放程序, 但對于一些要求不高的場合, 比如在程序嵌入活動圖像等非常適合。

---- 五、ActiveMovie控件方法

---- ActiveMovie是微軟公司開發的活動圖像播放程序,如果系統中正確安裝了此程序, 則即提供ActiveMovie控件, 使用前也必須通過"部件"選擇窗口選定此控件, 此控件的使用更為簡單, 只要在窗體中安放一個此控件, 然后通過屬性窗口或程序代碼指定一個移動圖像文件, 比如:

Private Sub Form_Load()
ActiveMovie1.filename = "d:\mpg\98.mpg"
End Sub

---- 運行程序之后即可通過其控制條進行播放控制, 其使用方法就和使用其原來的ActiveMovie一樣,如果想使其運行之后自動播放, 則需要使用置其ActiveMovie1.AutoStart屬性為"True", 但此屬性只能在窗口中進行調整, 不能用程序代碼進行控制, 此外還有下面的一些常用屬性:
Showcontrols :是否顯示控制條;
showdisplay :是否出現顯示窗口;
ShowpositionControls:是否顯示向前或向后按鈕;
ShowTracker:是否顯示進度條;
Showselectioncontrols:是否顯示記錄設置按鈕;
FullscreenMode:是否進入滿屏模式;
moviewindowsize:是否調整播放窗口的尺寸;

---- 此控件由于是微軟公司自行開發的, 并且已經內嵌在 WINDOWS 95的OSR 版本及WWINDOWS 98測試版中,其性能是相當穩定和可靠的, 能夠對WINDOWS 95及其32位的光盤驅動器最大限度兼容, 具有很多優勢, 但其它控制功能的靈活性稍差一些, 一般只允許對單個文件進行播放, 應用在簡單的程序設計場合比較合適。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97