程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB中多媒體五種控制手段

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中可通過"工程"菜單中的"部件"項打開選擇窗口,並選中“MICROSOFTMULTIMEDIACONTROL”項,之後在部件箱中即可出現“MMCONTROL”圖標,用此控件控制多媒體的基本步驟是指定媒體對象、打開媒體對象、控制媒體對象等,比如編制CD唱盤的播放程序,可用鼠標點亮此MCI圖標,並在FROM1窗體中繪制一個長方形的區域,此時一組功能齊全的播放按鈕出現在窗口中,然後雙擊窗體空白處,打開From1的代碼窗口,此時輸入以下命令:

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

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

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位的光盤驅動器最大限度兼容,具有很多優勢,但其它控制功能的靈活性稍差一些,一般只允許對單個文件進行播放,應用在簡單的程序設計場合比較合適。

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved