第十章多媒體編程初步_第1頁
第十章多媒體編程初步_第2頁
第十章多媒體編程初步_第3頁
第十章多媒體編程初步_第4頁
第十章多媒體編程初步_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、返回目錄 第十章第十章 多媒體編程初步多媒體編程初步 10.1 多媒體技術(shù)概述10.2 VB中的多媒體控件10.3 利用API函數(shù)制作多媒體程序的方法 本章將介紹VB在多媒體處理方面的基礎(chǔ)知識(shí)。通過生動(dòng)具體的示例,讀者可以從中感受到VB在多媒體編程方面的魅力和便捷,并對(duì)常用的幾種多媒體控件的使用方法有所掌握和了解,使得能夠初步的掌握多媒體編程技術(shù),能夠利用所學(xué)知識(shí)開發(fā)一些多媒體應(yīng)用程序。10.1 10.1 多媒體技術(shù)概述多媒體技術(shù)概述返回首頁 多媒體是由英文單詞“Multimedia”直接翻譯而來的,其中“Multi”是指“多”,“Media”是指“媒體”,其含義就是承載信息的載體。通常我們所

2、說的“媒體”比如廣播、電視、報(bào)紙等等,它們都是非數(shù)字化的;隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的飛速發(fā)展,現(xiàn)在,我們把各種媒體信息數(shù)字化并綜合成一種全新的媒體。把這種將不同形式的各種媒體信息數(shù)字化,并結(jié)合計(jì)算機(jī)技術(shù)對(duì)它們進(jìn)行組織、加工來提供給用戶使用的新媒體稱之為“多媒體”。 按照信息形式的不同,多媒體包括了文本、圖形、圖像、聲音、動(dòng)畫和視頻等等。多媒體技術(shù)就是把聲音、圖像、文本、視頻等媒體通過計(jì)算機(jī)集成在一起的技術(shù)。也就是說,它是通過計(jì)算機(jī)把文本、圖形、圖像、聲音、動(dòng)畫和視頻等多種媒體信息綜合起來,使之建立起一種邏輯連接,并集成為一個(gè)具有交互性的系統(tǒng)的技術(shù)。10.2 VB10.2 VB中的多媒體控件中的

3、多媒體控件返回首頁10.2.1 10.2.1 動(dòng)畫(動(dòng)畫(AminationAmination)控件)控件 VB 提供的視頻動(dòng)畫控件Animation,可以播放AVI視頻動(dòng)畫,但它只能播放沒有聲音的AVI視頻動(dòng)畫。在播放動(dòng)畫的同時(shí),可以同時(shí)執(zhí)行其他代碼。要使用Animation控件,首先需要在“工程”菜單中,點(diǎn)擊“部件”菜單項(xiàng),再在打開的“部件”對(duì)話框控件列表中鉤選“Microsoft Windows Common Controls-2 6.0”,最后點(diǎn)擊對(duì)話框的“確定”按鈕,便可將該控件添加到常用工具箱中來。 VB 提供的視頻動(dòng)畫控件Animation,可以播放AVI視頻動(dòng)畫,但它只能播放沒

4、有聲音的AVI視頻動(dòng)畫。在播放動(dòng)畫的同時(shí),可以同時(shí)執(zhí)行其他代碼。要使用Animation控件,首先需要在“工程”菜單中,點(diǎn)擊“部件”菜單項(xiàng),再在打開的“部件”對(duì)話框控件列表中鉤選“Microsoft Windows Common Controls-2 6.0”,最后點(diǎn)擊對(duì)話框的“確定”按鈕,便可將該控件添加到常用工具箱中來。1屬性 要通過該控件播放視頻動(dòng)畫必須明確其相關(guān)的屬性和方法。主要屬性如下: Name屬性:設(shè)置控件名,標(biāo)識(shí)控件。 AutoPlay屬性:用來在加載AVI文件后,是否自動(dòng)播放。 BackStyle屬性:確定控件在透明的背景上還是在動(dòng)畫剪輯中所指定的背景顏色上繪制動(dòng)畫。 Cen

5、ter屬性:確定播放的AVI文件是否居中。當(dāng)該值為Ture時(shí),會(huì)根據(jù)圖像的大小,在控件中心顯示文件;當(dāng)屬性值為False時(shí),AVI文件定位在控件的(0,0)處。 Enabled屬性:決定一個(gè)對(duì)象是否響應(yīng)用戶生成事件。 ToolTipText屬性:設(shè)置提示的文本。 Visible屬性:設(shè)置對(duì)象是否可見。2事件和方法 Animation控件本身具有事件,比如鼠標(biāo)事件(Click,DblClick,MouseMove,MouseUp, MouseDown等)、 焦點(diǎn)事件(設(shè)置焦點(diǎn)的GotFocus事件和失去焦點(diǎn)的LostFocus事件)等。 動(dòng)畫Animation控件有多種方法,主要的方法如下:Op

6、en方法:打開播放的AVI文件。Close方法:使控件Animation關(guān)閉當(dāng)前打開的AVI文件。Play方法:開始播放。Stop方法:停止播放。實(shí)例10.1:利用Animation控件播放AVI動(dòng)畫 。操作步驟如下:1.添加控件 執(zhí)行“工程” “部件”菜單命令,在打開的“部件”對(duì)話框“控件”列表中選擇“Microsoft Windows Common Controls 6.0”和 “Microsoft Windows Common Controls-2 6.0” 復(fù)選框,單擊確定按鈕,即可將通用對(duì)話框控件和Animation控件添加至工具箱中。 2.控件選擇 2個(gè)通用對(duì)話框控件:Common

7、Dialog1,CommonDialog2;2個(gè)命令按鈕控件:Command1,Command2;1個(gè)動(dòng)畫控件:Animation1.3.控件屬性設(shè)置 控件及其屬性設(shè)置如表10-2所示??丶Q屬性屬性值通用對(duì)話框CommonDialog1(所有屬性)(默認(rèn)值)CommonDialog1(所有屬性)(默認(rèn)值)命令按鈕Command1Caption開始播放Command2Caption停止播放動(dòng)畫Animation1(所有屬性)(默認(rèn)值)表10-2 控件及其屬性4.布局及運(yùn)行結(jié)果如圖10-1所示,如圖10-2所示。圖10-1圖10-2控件布局圖運(yùn)行結(jié)果圖5.代碼編寫在“開始播放”按鈕的單擊事件中

8、添加如下代碼:Private Sub Command1_Click()CommonDialog1.Filter = (*.avi)|*.avi 設(shè)置文件的類型CommonDialog1.ShowOpen 彈出打開文件對(duì)話框If CommonDialog1.FileName = Then Exit SubAnimation1.Open CommonDialog1.FileNameAnimation1.Play 開始播放Command1.Enabled = False 禁用“開始播放”命令按鈕Command2.Enabled = True 啟用“停止動(dòng)畫”命令按鈕End Sub在“停止動(dòng)畫”命令按

9、鈕中添加如下代碼:Private Sub Command2_Click()Animation1.Stop 停止動(dòng)畫Animation1.Close 關(guān)閉打開文件Command1.Enabled = True 啟用“開始播放”命令按鈕Command2.Enabled = False 禁用“停止動(dòng)畫”命令按鈕End Sub10.2.2 10.2.2 多媒體多媒體MCIMCI控件控件 多媒體MCI控件通常也叫MMControl多媒體控件,VB中的Microsoft Multimedia Control 6.0中就提供了該控件。這種控件可以用來向聲卡、MIDI序列發(fā)生器、CD-ROM驅(qū)動(dòng)器、視頻VCD

10、播放器等設(shè)備發(fā)出MCI命令。由此對(duì)這些設(shè)備進(jìn)行常規(guī)的啟動(dòng)、播放、前進(jìn)、后退、停止等操作。MCI控件可以播放多種文件格式,包括WAV、MIDI、MOV、AVI、MPEG等文件。1屬性 MMControl多媒體控件有許多屬性,主要的屬性如下: Devicetype屬性:指定要打開的MCI設(shè)備的類型。 Filename 屬性:指定要播放的文件目錄和文件名。 Command屬性:指定要執(zhí)行的命令的名稱。 這些命令包括Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound或Save。(詳細(xì)描述請(qǐng)見表10-3)Butto

11、nEnabled屬性:確定控件上的按鈕是否被激活。ButtonVisible屬性:決定是否顯示控件中的某個(gè)按鈕。Length屬性:給出被MCI打開的播放文件的長度。Mode屬性:指定執(zhí)行MCI設(shè)備的模式,如打開、暫停、播放等。Position屬性:指出一個(gè)打開了的MCI設(shè)備的位置。Wait屬性:決定Multimedia控件是否要等到下一條MCI命令完成后,才能將控件返回應(yīng)用程序。在設(shè)計(jì)模式下該屬性不可用。表10.1 MMControl多媒體控件的Command命令命令字符命令描述Open打開設(shè)備Close關(guān)閉設(shè)備Play開始播放Pause暫停播放或記錄。如之前已經(jīng)暫停則在執(zhí)行這一設(shè)備會(huì)重新開始

12、播放或記錄Stop停止播放或記錄Back向后單步退Step向前單步進(jìn)Prev定位到當(dāng)前曲目的開始部分Next定位到下一曲目的開始部分Seek如果沒有播放,就使用MCI_SEEK命令搜索一個(gè)位置;如果正在播放,就使用MCI_PLAY命令從給定位置開始繼續(xù)播放。Record進(jìn)行記錄Eject將媒體彈出Sound播放聲音Save保存打開的文件 2事件和方法 和VB的其他控件一樣,MCI控件具有自己的事件和方法。當(dāng)對(duì)控件上的任何一個(gè)有效的按鈕進(jìn)行點(diǎn)擊操作時(shí),就會(huì)產(chǎn)生一個(gè)Button Click事件。當(dāng)按鈕釋放時(shí),就會(huì)產(chǎn)生Button Completed事件。Statusupdate這個(gè)事件可監(jiān)測目前多

13、媒體設(shè)備的狀態(tài)信息。 打開“工程” 菜單,在其下點(diǎn)擊“部件”打開“部件”對(duì)話框,在控件列表中找到“Microsoft Multimedia Control 6.0”,鉤選該列表項(xiàng)左部的復(fù)選框,最后點(diǎn)擊“確定”按鈕就可以將MCI控件添加到工具箱中了(如圖10.3所示)。 多媒體控件(MMControl)實(shí)際上是由一組執(zhí)行MCI命令的按鈕組成。這些按鈕的功能和通常的CD機(jī)或錄像機(jī)的功能是相似的,可以進(jìn)行常規(guī)的前進(jìn)、后退、播放、暫停、快退、快進(jìn)、停止、錄音、彈出操作。雙擊工具箱中的多媒體控件圖標(biāo)便可以將其添加到窗口中,如圖10-4所示。圖10.3 添加MCI控件部件圖10.4 窗體上的MCI控件圖標(biāo)

14、實(shí)例10.2:使用MMControl控件播放MP3音樂1.按照前述方法將MMControl控件添加到窗體上。2.在代碼窗口里輸入如下代碼:Private Sub Form_Click()CommonDialog1.Filter = 全部文件(*.*)|*.*|mp3文件|*.mp3CommonDialog1.FileName = byywdalshw.mp3CommonDialog1.InitDir = F:music音樂CommonDialog1.Action = 1MMControl1.Orientation = mciOrientHorzMMControl1.Notify = False

15、MMControl1.Shareable = FalseMMControl1.Wait = TrueMMControl1.FileName = CommonDialog1.FileNameMMControl1.Command = OpenEnd Sub實(shí)例10.3:使用MMControl控件播放AVI動(dòng)畫1.在窗體上添加一個(gè)CommonDialog控件、一個(gè)PictureBox控件和一個(gè)MMControl控件。其中,CommonDialog控件用來顯示打開對(duì)話框;PictureBox控件用來顯示播放的畫面;MMControl控件用來實(shí)現(xiàn)播放的各種功能。2.設(shè)置PictureBox控件的Auto

16、Redraw屬性為True,設(shè)置MMControl控件的AutoEnable屬性為True,在代碼窗口里輸入如下代碼:Private Sub Form_Load()CommonDialog1.Filter = 全部文件(*.*)|*.*|動(dòng)畫文件(.AVI)|.AVICommonDialog1.DialogTitle = 請(qǐng)選擇要打開的文件CommonDialog1.Action = 1MMControl1.Orientation = mciOrientHorzMMControl1.DeviceType = AVIVideoMMControl1.Notify = FalseMMControl1

17、.Shareable = FalseMMControl1.Wait = TrueMMControl1.FileName = CommonDialog1.FileNameMMControl1.hWndDisplay = Picture1.hWndMMControl1.Command = openEnd Sub工程運(yùn)行后,效果如圖10.5所示:圖10.5 實(shí)例10.3效果圖 10.2.3 MediaPlayer控件控件 提供MediaPlayer控件的文件是“Msdxm.ocx”,添加該控件的方法是在“工程”菜單中選擇“部件”菜單命令,在打開的“部件”對(duì)話框中點(diǎn)擊“瀏覽”按鈕,接著找到該文件并將其

18、加載到常用工具箱中即可。該控件(如圖10.8所示)可以播放WAV、MP3、MIDI、MOV、AVI、MPEG等多種格式的多媒體文件,還提供了一個(gè)播放面板,其內(nèi)有控制播放的各種按鈕和軌跡條。圖10-6 MediaPlayer控件外觀1屬性MediaPlayer控件的屬性和方法有許多與ActiveMovie控件的相似。常用的屬性有:EnableContextMenu屬性:用來設(shè)置是否可以單擊鼠標(biāo)右鍵調(diào)出控制菜單。ShowPositionControls屬性:用來設(shè)置是否顯示位置控制按鈕。ShowStatusBar屬性:用來設(shè)置是否顯示信息條。AutoRewind屬性:用來設(shè)置是否可以拖拽面板中的滑

19、塊,以調(diào)整播放的畫面。EnablePositionControls屬性:用來設(shè)置位置控制按鈕是否有效。DisplaySize屬性:用來設(shè)置畫面的大小。EnableTracker屬性:用來設(shè)置是否可以用鼠標(biāo)拖拽軌跡條中的滑塊。URL屬性:用來指定媒體位置,本機(jī)或者網(wǎng)絡(luò)地址。2方法 Duration方法:可以獲得播放多媒體文件所用的時(shí)間。 Play方法:開始播放。 pause方法:暫停播放。 stop方法:停止播放。 該控件的控制菜單命令可以用來控制多媒體的播放、暫停和停止,可以調(diào)整畫面的大小,可以全屏顯示。其中的“選項(xiàng)”菜單命令可以調(diào)出MediaPlayer多媒體控件的“選項(xiàng)”對(duì)話框,如圖10-

20、7所示。圖10.9 MediaPlayer多媒體控件的“選項(xiàng)”對(duì)話框 10.3 10.3 利用利用APIAPI函數(shù)函數(shù)制作多媒體程序的方法制作多媒體程序的方法返回首頁 API(Application Programming Interface)是Windows應(yīng)用程序編程接口的簡稱,是一個(gè)由操作系統(tǒng)所支持的函數(shù)聲明、參數(shù)定義和信息格式的集合,其中包含了許多的函數(shù)、例程、類型和常數(shù)定義。API函數(shù)包含在Windows系統(tǒng)目錄下的動(dòng)態(tài)鏈接庫(DLL)文件中,主要的DLL有Windows內(nèi)核庫(Knernel32.dll)、Windows用戶界面管理庫(User32.dll)、Windows圖形設(shè)備

21、界面(GDI32.dll)、多媒體函數(shù)(Winmm.dll)等。 用戶可以使用VB程序直接調(diào)用所有的Win32 API函數(shù)。在VB中,要訪問API函數(shù)的話,必須在VB應(yīng)用程序的模塊中用Declare語句來聲明要使用的API函數(shù)。聲明的格式如下: Private/Public Declare Function API函數(shù)名 Lib “庫名” Alias “別名” 參數(shù)列表as類型 其實(shí),VB提供了專門的工具來完成聲明API函數(shù)的任務(wù),此工具為“API文本瀏覽器”。因此,用戶不必編寫復(fù)雜的聲明API函數(shù)的代碼,而可以直接將保存有該代碼的文本文件通過此工具調(diào)出來,并復(fù)制到VB應(yīng)用程序的模塊中即可。比

22、如Win32api.txt文本文件,它包含了經(jīng)常使用的許多API過程聲明,可以使用“API文本瀏覽器”將其從VB主目錄下的Winapi子目錄中調(diào)出來。方法步驟如下: 1.打開“工程”菜單,選擇“添加模塊”命令,添加一個(gè)模塊。 2.打開“外接程序”菜單,選擇“外接程序管理器”命令,即可打開“外接程序管理器”對(duì)話框,如圖10.10所示。圖10-8 “外接程序管理器”對(duì)話框 3.在打開的“外接程序管理器”對(duì)話框中選中“可用外接程序”列里的“Visual Basic 6 API Viewer”選項(xiàng)。再單擊對(duì)話框下方“加載行為”欄內(nèi)的“在啟動(dòng)中加載”和“加載/卸載”復(fù)選框。4.單擊“確定”按鈕,即將“V

23、isual Basic 6 API Viewer”程序加載到VB中了。之后,在“外接程序”菜單中會(huì)增加一個(gè)“API瀏覽器”菜單項(xiàng)。5.在“外接程序”菜單中點(diǎn)擊“API瀏覽器”菜單項(xiàng),就可以打開“API瀏覽器”對(duì)話框,如圖10.11所示。圖10-9 “API瀏覽器”對(duì)話框 加載好“Visual Basic 6 API Viewer”程序后,就可以使用其進(jìn)行查看并復(fù)制文本文件或Jet數(shù)據(jù)庫文件了。 MciExecute()函數(shù)的功能就是執(zhí)行MCI設(shè)備的命令,它只有一個(gè)參數(shù)即MCI指令字符串, 當(dāng)出現(xiàn)錯(cuò)誤時(shí)將自動(dòng)彈出對(duì)話框。使用MciExecute()函數(shù)既可以播放動(dòng)畫文件又可以播放聲音文件。下面是

24、對(duì)music.wav文件分別進(jìn)行打開、播放、停止、關(guān)閉的控制程序: I=mciExecute(open d:music.wav&alias sound)I=mciExecute(play sound)I=mciExecute(stop sound)I=mciExecute(close sound) MciSendString()函數(shù)的功能與上面的函數(shù)相似,但它可以在傳送字符串給MCI的同時(shí)接收反饋的信息給應(yīng)用程序, 使用時(shí)需要四個(gè)參數(shù),第一個(gè)是MCI命令字符串,第二個(gè)是預(yù)備的文本緩沖區(qū),第三個(gè)是文本緩沖區(qū)的長度,還有一個(gè)用來接收確認(rèn)信息,在VB中可恒置為0。 利用API函數(shù)播放音頻文件除了可以

25、調(diào)用MciExecute()函數(shù)和MciSendString()函數(shù)外,還可以調(diào)用MessageBeep、SndPlaySound和PlaySound函數(shù)來實(shí)現(xiàn)。MessageBeep函數(shù)是標(biāo)準(zhǔn)的Win32 API函數(shù),一般用于播放系統(tǒng)的報(bào)警聲音。它的聲明語句如下:Declare Function MessageBeep Lib “User32.dll”(ByVal wType As Long) As LongPlaySound函數(shù)主要用于播放給定的音頻文件、WAV資源與系統(tǒng)事件對(duì)應(yīng)的聲音。它的聲明語句如下:Declare Function PlaySound Lib “Winmm.dll”

26、Alias “PlaySoundA”(ByVal lpszName As String,ByVal hModule As Long,ByVal dwFlags As Long)As LonglpszName用來指定要播放的聲音的字符串。hModule是裝載音頻資源執(zhí)行文件的句柄參數(shù)。dwFlags是播放標(biāo)志。SndPlaySound函數(shù)是PlaySound函數(shù)的子集,其聲明語句如下:Declare Function sndPlaySound Lib “Winmm.dll” Alias “sndPlaySoundA”(ByVal lpszSoundName As String,ByVal uFl

27、ags As Long)As Long實(shí)例10.4:使用API函數(shù)制作音頻播放器 如圖10.12所示,向窗體中添加一個(gè)CommonDialog通用對(duì)話框控件、兩個(gè)Label標(biāo)簽控件、兩個(gè)命令按鈕控件。其中兩個(gè)命令按鈕Command1、Command2的Caption屬性分別修改為“打開”、“停止”。在代碼窗口的最頂端輸入變量的定義和函數(shù)的聲明,如下代碼:Option ExplicitPrivate Declare Function mciExecute Lib winmm.dll (ByVal lpstrCommand As String) As LongDim MARK As Integer, RtValue As Long加載窗體時(shí)進(jìn)行初始化的代碼如下:Private Sub Form_Load()MARK = 0RtValue = 0End Sub第一個(gè)按鈕“打開”的單擊事件代碼如下:Private Sub Command1_Click()Dim Fname As StringIf Command1.Caption = 播放 And MARK = 1 ThenRtValue = mciExecute(play music)Command2.Enabled = TrueCommand1.Enabled =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論