用VB進行多媒體程序設計初步
發表于:2007-07-14來源:作者:點擊數:
標簽:
VB (Visual Basic)具有很強的多媒體處理控制功能,VB的多媒體控制MCI (Media control interface)包括一套控制音頻和視頻設備但具有與設備無關的 命令,用它來進行多媒體設計是很方便的。比如:你也許想擁有一個自己 編寫的CD播放器,那么利用VB的MCI只需寫幾
VB(Visual Basic)具有很強的多媒體處理控制功能,VB的多媒體控制MCI
(Media control interface)包括一套控制音頻和
視頻設備但具有與設備無關的
命令,用它來進行多媒體設計是很方便的。比如:你也許想擁有一個自己
編寫的CD播放器,那么利用VB的MCI只需寫幾行代碼就可生成一個功能
比較齊全的CD播放器。下面簡單談談用VB的MCI進行多媒體設計的初步
知識并給出一個非常簡單的CD播放器的例子。在使用MCI之前必須安裝好
多媒體設備如聲卡、CD—ROM等以及這些設備的驅動程序,否則MCI將
不聽指揮。
一、MCI控制的安裝
MCI控制在VB不同版本中的安裝方法是不一樣的。在VB 3.0專業版中,
MCI控制文件為MCI.VBX,在VB 4.0中MCI控制文件為MCI16.OCX
(16位)、MCI32.OCX(32位)。一般情況下MCI控制在啟動VB之后并沒有
加入到工具箱中(TOOLBOX),需要自己動手安裝它。1.VB 3.0中MCI的
安裝。打開VB的FILE菜單,選擇Add File項,從
Windows\system目錄下找
到MCI.VBX,選擇OK即可,這時你將發現TOOLBOX最后又多了一個工具,
這就是MCI。如果你經常要用它,建議在VB目錄下找到Autoload.mak文件,
用字處理軟件打開它,把MCI.VBX添加在其中,這樣每次啟動VB時就將其
自動調入。2.VB 4.0中MCI的安裝。VB 4.0支持16位和32位兩種系統,在
WINDOWS 3.1下只能使用16位系統。MCI不能和VB 3.0中一樣用Add File
調入,如果你這樣做將會發現系統提示錯誤,需在Autoload.mak文件中調入。
筆者打開Autoload.mak文件后發現調用格式為:OBJECT={序列號}#1.0#0;
文件名,不知道MCI16.OCX的序列號是無法安裝的。幸好在VB目錄下的子
目錄SAMPLE下有一個MCI的子目錄,進入它可以看到有一個MCITEST.MAK
文件,打開它可以看到有:Object={C1A8AF28-1257-101B-8FB0-0020AF039CA3}
#1.0#0;MCI32.OCX一行(也許您的序列號不一定和這相同),將這
一行復制到Autoload.mak文件中即可。由于本人使用的是WINDOWS 3.1,在安裝
VB 4.0時32位系統無法裝入,硬盤中根本沒有MCI32.OCX文件,VB何以將
MCI32.OCX調入呢?經試驗發現VB以序列號選擇文件,可能上述序列號是
MCI16.OCX文件的序列號,進一步試驗發現即使將序列號后面的MCI32.OCX
去掉也可調入,這進一步說明了VB 4.0中一個OCX文件有一個對應的序
列號,因此絕對不能改變序列號,否則將無法正確調入所需的文件。
MCI安裝完畢,用鼠標雙擊工具箱的MCI圖標,如果在Form中出現9個
熟悉的按扭,那么安裝就成功了。
二、MCI的屬性和事件
MCI提供許多關于MCI控制方面的屬性和事件。
比較常用的屬性有:
Button visible 決定該按鈕在MCI控制中是否可見。
Command 要執行的MCI命令,如Open Close Play Stop Eject等。
Device Type 要打開的MCI設備類型,如動畫播放設備、
MIDI序列發生器、
激光視盤機、WAV文件播放器、錄相機等。
Filename 使用Open命令打開或Save命令保存的文件名。
Length 確定一個文件或CD唱片的長度。
Track 指定特定的軌道,供Tracklength和Trackposition使用。
Tracks 當前MCI設備的軌道數。
Tracklength 在當前時間格式下,傳回Track所指軌道的時間長度。
Trackposition 在當前時間格式下,傳回Track所指軌道的起始位置。
Visible 決定在運行時刻多媒體MCI控制是否可見。
比較常用的事件有:
Buttonclick 當用戶在多媒體MCI控制的按鈕上按下或釋放鼠標時產生該事件,
每一個Buttonclick事件缺省執行一個MCI命令。
Buttoncompleted 當多媒體MCI控制按鈕激活的MCI命令完成后發送。
Statusupdate 這個事件可監測目前多媒體設備的狀態信息,比如用滾動條來表示
當前軌道的位置。
詳細的屬性和事件的用法請參看控制幫助文件。
三、CD播放器的例子
對初學者來說,能利用入門知識編寫一個的成功小程序是很鼓舞人心的,
下面我們來編寫一個非常簡單的例子:迷你CD播放器。
在MCI調入Toolbox之后,雙擊MCI工具,將會在Form中出現9個按鈕,
用鼠標移動這些按鈕至合適的位置,然后雙擊Form窗體,把下面的代碼加入
到事件中:
Sub Form_Load()
MMControl1.DeviceType = “CDaudio" 'MCI設備類型為CD唱片
MMControl1.Command = “open" '打開設備
End Sub
Sub Form_Unload(Cancel As Integer)
MMControl1.Command = “close" '退出時關閉MCI設備
End Sub
保存文件,在CD驅動器中放入一張CD唱片,然后運行,你將發現九個按鈕中
Prev、Next、Play、Eject四個按鈕變黑(有效狀態),點一下Play按鈕,
音樂出來了!若驅動器中無CD盤則所有按鈕都處于無效狀態。這樣一個簡易
CD播放器就完成了,它具有四種功能,但自己動手寫的代碼只有上面加注釋
的三行。這個CD播放器有點太簡單了,下面就看你的了,你可以加入一些文
字信息如
開發時間、作者、版權等,再進一步學習MCI可加入其他功能如顯
示播放時間、曲目等。
原文轉自:http://www.anti-gravitydesign.com