Mulimedia控制項

Multimedia 控制項可用於管理媒體控制接口(MCI)設備。這些設備有:音效卡、MIDI 發生器、CD-ROM 驅動器、音頻播放器、視盤播放器和視頻磁帶錄放器。Multimedia 控制項具有一組執行 MCI 命令的下壓式按鈕。這些命令與通常的 CD 機或錄像機上的命令(功能)很相象。

基本介紹

  • 中文名:Mulimedia控制項
  • 屬性:按鈕
  • 方式:下壓
  • 用途:管理 MCI 設備的錄製和播放
簡介,用途,多媒體的要求和支持的設備類型,MCI 命令,對 Multimedia 控制項進行編程,打開 MCI 設備,管理多媒體資源,使用 Error 和 ErrorMessage 屬性,

簡介

使用多媒體控制項(摘自msdn)
Multimedia 控制項可用於管理媒體控制接口(MCI)設備。這些設備有:音效卡、MIDI 發生器、CD-ROM 驅動器、音頻播放器、視盤播放器和視頻磁帶錄放器。
Multimedia 控制項具有一組執行 MCI 命令的下壓式按鈕。這些命令與通常的 CD 機或錄像機上的命令(功能)很相象。
Multimedia 控制項
從左到右,這些按鈕依次定義為前一個、下一個、播放、暫停、向後步進、向前步進、停止、錄製和彈出。

用途

管理 MCI 設備的錄製和播放。

多媒體的要求和支持的設備類型

哪些按鈕可用,Multimedia 控制項提供哪些功能,取決於特定計算機的硬體和軟體配置。例如,應用程式中使用了特定的多媒體設備和驅動程式,則它們必須已安裝在該機器中。
在 Windows 95 和 Windows NT 作業系統中提供了支持多種多媒體設備(比如音頻和視頻檔案)的驅動程式。其它設備,比如數字音頻磁帶機或圖象掃瞄器需要獨立的驅動程式,這些驅動程式通常由製造商提供。
設備分為兩種:簡單的和複合的。簡單的多媒體設備不需要數據檔案即可播放。例如,打開視頻或音頻 CD 播放器後,可通過“曲目”進行播放、迴繞和快進。而複合設備則必須通過數據檔案才能播放。
下表列出了 Multimedia 控制項支持的部分設備和為使用設備而由DeviceType 屬性要求的字元串,同時列出了對應檔案類型的是複合設備。
設備類型
字元串
檔案類型
描述
CD audio
cdaudio
音頻 CD 播放器
Digital Audio Tape
dat
數字音頻磁帶播放器
Digital video(not GDI-based)
DigitalVideo
視窗中的數字視頻
Other
Other
未定義 MCI 設備
Overlay
Overlay
覆蓋設備
Scanner
Scanner
圖像掃瞄器
Sequencer
Sequencer
.mid
音響設備數字接口 (MIDI) 序列發生器
Vcr
VCR
視頻磁帶錄放器
AVI
AVIVideo
.avi
視頻檔案
videodisc
Videodisc
視盤播放器
waveaudio
Waveaudio
.wav
播放數字波形檔案的音頻設備。

MCI 命令

Multimedia 控制項使用一套高層次的、與設備無關的命令,被稱為媒體控制接口命令,它們可控制多種多媒體設備。其中的許多命令直接與 Multimedia 控制項的按鈕對應。例如,Play 命令就與“播放”按鈕相對應。
Multimedia 控制項本質上是該命令集的 Visual Basic 接口。如 Play 或 Close 等命令在 Win32(R) API 的 MCI 命令結構中都有等價命令。例如,Play 對應 MCI_PLAY。下表列出了 Multimedia 控制項使用的 MCI 命令,同時還列出了它們對應的 Win32 命令:
命令
MCI 命令
描述
Open
MCI_OPEN
打開 MCI 設備。
Close
MCI_CLOSE
關閉 MCI 設備。
Play
MCI_PLAY
用 MCI 設備進行播放。
Pause
MCI_PAUSE 或 MCI_RESUME
暫停播放或錄製。
Stop
MCI_STOP
停止 MCI 設備。
Back
MCI_STEP
向後步進可用的曲目。
Step
MCI_STEP
向前步進可用的曲目。
Prev
MCI_SEEK
使用 Seek 命令跳到當前曲目的起始位置。如果在前一 Prev 命令執行後三秒內再次執行,則跳到前一曲目的起始位置;或者如果已在第一個曲目則跳到第一個曲目的起始位置。
Next
MCI_SEEK
使用 Seek 命令跳到下一個曲目的起始位置(如果已在最後一個曲目,則跳到最後一個曲目的起始位置)。
Seek
MCI_SEEK
向前或向後查找曲目。
Record
MCI_RECORD
錄製 MCI 設備的輸入。
Eject
MCI_SET
從 CD 驅動器中彈出音頻 CD。
Save
MCI_SAVE
保存打開的檔案。
在 Visual Basic 中,這些命令用 Multimedia 控制項的 Command 屬性啟動。例如:
MMControl1.Command = "Open"雖然 Multimedia 控制項實現的 MCI 命令集,在大多數情況下是足夠用的,然而直接使用 Win32 API,可以提供高級的編程函式和技術。
詳細信息 有關 MCI 命令的其它信息,請參閱 Microsoft Multimedia Development Kit Programmer's Workbook 或 Software Development Kit Multimedia Programmer's Reference。在 Microsoft Developer Network CD 中,提供了這些參考,以及 MCI 命令的許多其它信息。

對 Multimedia 控制項進行編程

通過設定 Enabled 和 Visible 屬性,可使 Multimedia 控制項在運行時可見或不可見。按照預設規定,Enabled 和 Visible 屬性被設定為 True,這樣該控制項在運行時就是可見的。
如果不希望通過 Multimedia 控制項上的按鈕直接與用戶互動,而希望使用該控制項以求實現它的多媒體功能,那么可將 Visible 屬性設定為 False。無論應用程式使用用戶互動與否,都可以對 MCI 設備進行控制。
要使單個的按鈕可見或不可見,可以設定該按鈕對應的 Visible 和 Enabled 屬性。例如,Back 按鈕中的 BackEnabled 和 BackVisible 屬性。九個按鈕中的每一個都有對應的這些屬性。
在絕大多數情況下,這些按鈕的預設功能已足以管理 MCI 設備。然而,Multimedia 控制項還包含一些運行時屬性,允許增加或重定義按鈕命令。
Notify、NotifyMessage 和 NotifyValue 屬性提供了有價值的反饋信息,表明某個命令出錯或完成。

打開 MCI 設備

將 Multimedia 控制項放置到窗體中後,不管它被設定為可見的還是不可見的,第一步都是要訪問 MCI 設備。為做到這一點,需要設定一些運行時才可用的屬性。例如:
'設定媒體設備的初始化屬性值MMControl1.Notify = FalseMMControl1.Wait = TrueMMControl1.Shareable = FalseMMControl1.DeviceType = "CDAudio"如果將 Notify 屬性設定為 True,則在下一命令完成時,將產生 Done 事件。Done 事件提供了很有用的反饋信息,以指出該命令成功還是失敗。Wait 屬性指定 Multimedia 控制項是否等到下一命令執行完畢,才將控制權還給應用程式。Shareable 屬性限制或允許其它應用程式或進程使用該媒體設備。DeviceType 屬性被用來指定 MCI 設備的類型。
最後,Open 命令用來打開 MCI 設備。
'打開媒體設備MMControl1.Command = "Open"當該控制項是可見的時候,設定這些屬性,並使用 Open 命令,將激活由該 MCI 設備支持的 Multimedia 控制項的下壓式按鈕。例如,打開 cdaudio 設備將激活“前一個”、“下一個”、“播放”和“彈出”按鈕。按下“播放”後,“停止”和“暫停”按鈕被激活。
在一個窗體中可以加入多個 Multimedia 控制項的實例,以提供對多個 MCI 設備的並行控制。對每個設備只能使用一個 Multimedia 控制項。

管理多媒體資源

要正確地管理多媒體和系統資源,就必須在退出應用程式前將打開的 MCI 設備關閉。在包含 Multimedia 控制項的窗體卸載時,可在該窗體的 Form_Unload 過程中使用下面的語句,以關閉正打開著的 MCI 設備。
Private Sub Form_Unload (Cancel as Integer) Form1.MMControl1.Command = "Close"End Sub

使用 Error 和 ErrorMessage 屬性

使用 Error 和 ErrorMessage 屬性,可以處理 Multimedia 控制項產生的錯誤。在每個命令後可以檢查錯誤情況。例如,在 Open 命令之後,可用下面的代碼檢查 Error 屬性的值,以判斷是否存在 CD 驅動器。如果沒有可用的 CD 驅動器,則返回錯誤信息。例如:
If Form1.MMControl1.Error Then MsgBox Form1.MMControl1.ErrorMessage,vbCritical, "未安裝 CD 播放器或 CD 播放器不能正常工作"End If詳細信息 請參閱“ErrorMessage 屬性(多媒體 MCI 控制項)”以及“Error 屬性(多媒體 MCI 控制項)”。

相關詞條

熱門詞條

聯絡我們