




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、返回目錄 第十章第十章 多媒體編程初步多媒體編程初步 10.1 多媒體技術概述10.2 VB中的多媒體控件10.3 利用API函數(shù)制作多媒體程序的方法 本章將介紹VB在多媒體處理方面的基礎知識。通過生動具體的示例,讀者可以從中感受到VB在多媒體編程方面的魅力和便捷,并對常用的幾種多媒體控件的使用方法有所掌握和了解,使得能夠初步的掌握多媒體編程技術,能夠利用所學知識開發(fā)一些多媒體應用程序。10.1 10.1 多媒體技術概述多媒體技術概述返回首頁 多媒體是由英文單詞“Multimedia”直接翻譯而來的,其中“Multi”是指“多”,“Media”是指“媒體”,其含義就是承載信息的載體。通常我們所
2、說的“媒體”比如廣播、電視、報紙等等,它們都是非數(shù)字化的;隨著計算機技術和通信技術的飛速發(fā)展,現(xiàn)在,我們把各種媒體信息數(shù)字化并綜合成一種全新的媒體。把這種將不同形式的各種媒體信息數(shù)字化,并結合計算機技術對它們進行組織、加工來提供給用戶使用的新媒體稱之為“多媒體”。 按照信息形式的不同,多媒體包括了文本、圖形、圖像、聲音、動畫和視頻等等。多媒體技術就是把聲音、圖像、文本、視頻等媒體通過計算機集成在一起的技術。也就是說,它是通過計算機把文本、圖形、圖像、聲音、動畫和視頻等多種媒體信息綜合起來,使之建立起一種邏輯連接,并集成為一個具有交互性的系統(tǒng)的技術。10.2 VB10.2 VB中的多媒體控件中的
3、多媒體控件返回首頁10.2.1 10.2.1 動畫(動畫(AminationAmination)控件)控件 VB 提供的視頻動畫控件Animation,可以播放AVI視頻動畫,但它只能播放沒有聲音的AVI視頻動畫。在播放動畫的同時,可以同時執(zhí)行其他代碼。要使用Animation控件,首先需要在“工程”菜單中,點擊“部件”菜單項,再在打開的“部件”對話框控件列表中鉤選“Microsoft Windows Common Controls-2 6.0”,最后點擊對話框的“確定”按鈕,便可將該控件添加到常用工具箱中來。 VB 提供的視頻動畫控件Animation,可以播放AVI視頻動畫,但它只能播放沒
4、有聲音的AVI視頻動畫。在播放動畫的同時,可以同時執(zhí)行其他代碼。要使用Animation控件,首先需要在“工程”菜單中,點擊“部件”菜單項,再在打開的“部件”對話框控件列表中鉤選“Microsoft Windows Common Controls-2 6.0”,最后點擊對話框的“確定”按鈕,便可將該控件添加到常用工具箱中來。1屬性 要通過該控件播放視頻動畫必須明確其相關的屬性和方法。主要屬性如下: Name屬性:設置控件名,標識控件。 AutoPlay屬性:用來在加載AVI文件后,是否自動播放。 BackStyle屬性:確定控件在透明的背景上還是在動畫剪輯中所指定的背景顏色上繪制動畫。 Cen
5、ter屬性:確定播放的AVI文件是否居中。當該值為Ture時,會根據(jù)圖像的大小,在控件中心顯示文件;當屬性值為False時,AVI文件定位在控件的(0,0)處。 Enabled屬性:決定一個對象是否響應用戶生成事件。 ToolTipText屬性:設置提示的文本。 Visible屬性:設置對象是否可見。2事件和方法 Animation控件本身具有事件,比如鼠標事件(Click,DblClick,MouseMove,MouseUp, MouseDown等)、 焦點事件(設置焦點的GotFocus事件和失去焦點的LostFocus事件)等。 動畫Animation控件有多種方法,主要的方法如下:Op
6、en方法:打開播放的AVI文件。Close方法:使控件Animation關閉當前打開的AVI文件。Play方法:開始播放。Stop方法:停止播放。實例10.1:利用Animation控件播放AVI動畫 。操作步驟如下:1.添加控件 執(zhí)行“工程” “部件”菜單命令,在打開的“部件”對話框“控件”列表中選擇“Microsoft Windows Common Controls 6.0”和 “Microsoft Windows Common Controls-2 6.0” 復選框,單擊確定按鈕,即可將通用對話框控件和Animation控件添加至工具箱中。 2.控件選擇 2個通用對話框控件:Common
7、Dialog1,CommonDialog2;2個命令按鈕控件:Command1,Command2;1個動畫控件:Animation1.3.控件屬性設置 控件及其屬性設置如表10-2所示。控件名稱屬性屬性值通用對話框CommonDialog1(所有屬性)(默認值)CommonDialog1(所有屬性)(默認值)命令按鈕Command1Caption開始播放Command2Caption停止播放動畫Animation1(所有屬性)(默認值)表10-2 控件及其屬性4.布局及運行結果如圖10-1所示,如圖10-2所示。圖10-1圖10-2控件布局圖運行結果圖5.代碼編寫在“開始播放”按鈕的單擊事件中
8、添加如下代碼:Private Sub Command1_Click()CommonDialog1.Filter = (*.avi)|*.avi 設置文件的類型CommonDialog1.ShowOpen 彈出打開文件對話框If CommonDialog1.FileName = Then Exit SubAnimation1.Open CommonDialog1.FileNameAnimation1.Play 開始播放Command1.Enabled = False 禁用“開始播放”命令按鈕Command2.Enabled = True 啟用“停止動畫”命令按鈕End Sub在“停止動畫”命令按
9、鈕中添加如下代碼:Private Sub Command2_Click()Animation1.Stop 停止動畫Animation1.Close 關閉打開文件Command1.Enabled = True 啟用“開始播放”命令按鈕Command2.Enabled = False 禁用“停止動畫”命令按鈕End Sub10.2.2 10.2.2 多媒體多媒體MCIMCI控件控件 多媒體MCI控件通常也叫MMControl多媒體控件,VB中的Microsoft Multimedia Control 6.0中就提供了該控件。這種控件可以用來向聲卡、MIDI序列發(fā)生器、CD-ROM驅動器、視頻VCD
10、播放器等設備發(fā)出MCI命令。由此對這些設備進行常規(guī)的啟動、播放、前進、后退、停止等操作。MCI控件可以播放多種文件格式,包括WAV、MIDI、MOV、AVI、MPEG等文件。1屬性 MMControl多媒體控件有許多屬性,主要的屬性如下: Devicetype屬性:指定要打開的MCI設備的類型。 Filename 屬性:指定要播放的文件目錄和文件名。 Command屬性:指定要執(zhí)行的命令的名稱。 這些命令包括Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound或Save。(詳細描述請見表10-3)Butto
11、nEnabled屬性:確定控件上的按鈕是否被激活。ButtonVisible屬性:決定是否顯示控件中的某個按鈕。Length屬性:給出被MCI打開的播放文件的長度。Mode屬性:指定執(zhí)行MCI設備的模式,如打開、暫停、播放等。Position屬性:指出一個打開了的MCI設備的位置。Wait屬性:決定Multimedia控件是否要等到下一條MCI命令完成后,才能將控件返回應用程序。在設計模式下該屬性不可用。表10.1 MMControl多媒體控件的Command命令命令字符命令描述Open打開設備Close關閉設備Play開始播放Pause暫停播放或記錄。如之前已經(jīng)暫停則在執(zhí)行這一設備會重新開始
12、播放或記錄Stop停止播放或記錄Back向后單步退Step向前單步進Prev定位到當前曲目的開始部分Next定位到下一曲目的開始部分Seek如果沒有播放,就使用MCI_SEEK命令搜索一個位置;如果正在播放,就使用MCI_PLAY命令從給定位置開始繼續(xù)播放。Record進行記錄Eject將媒體彈出Sound播放聲音Save保存打開的文件 2事件和方法 和VB的其他控件一樣,MCI控件具有自己的事件和方法。當對控件上的任何一個有效的按鈕進行點擊操作時,就會產(chǎn)生一個Button Click事件。當按鈕釋放時,就會產(chǎn)生Button Completed事件。Statusupdate這個事件可監(jiān)測目前多
13、媒體設備的狀態(tài)信息。 打開“工程” 菜單,在其下點擊“部件”打開“部件”對話框,在控件列表中找到“Microsoft Multimedia Control 6.0”,鉤選該列表項左部的復選框,最后點擊“確定”按鈕就可以將MCI控件添加到工具箱中了(如圖10.3所示)。 多媒體控件(MMControl)實際上是由一組執(zhí)行MCI命令的按鈕組成。這些按鈕的功能和通常的CD機或錄像機的功能是相似的,可以進行常規(guī)的前進、后退、播放、暫停、快退、快進、停止、錄音、彈出操作。雙擊工具箱中的多媒體控件圖標便可以將其添加到窗口中,如圖10-4所示。圖10.3 添加MCI控件部件圖10.4 窗體上的MCI控件圖標
14、實例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實例10.3:使用MMControl控件播放AVI動畫1.在窗體上添加一個CommonDialog控件、一個PictureBox控件和一個MMControl控件。其中,CommonDialog控件用來顯示打開對話框;PictureBox控件用來顯示播放的畫面;MMControl控件用來實現(xiàn)播放的各種功能。2.設置PictureBox控件的Auto
16、Redraw屬性為True,設置MMControl控件的AutoEnable屬性為True,在代碼窗口里輸入如下代碼:Private Sub Form_Load()CommonDialog1.Filter = 全部文件(*.*)|*.*|動畫文件(.AVI)|.AVICommonDialog1.DialogTitle = 請選擇要打開的文件CommonDialog1.Action = 1MMControl1.Orientation = mciOrientHorzMMControl1.DeviceType = AVIVideoMMControl1.Notify = FalseMMControl1
17、.Shareable = FalseMMControl1.Wait = TrueMMControl1.FileName = CommonDialog1.FileNameMMControl1.hWndDisplay = Picture1.hWndMMControl1.Command = openEnd Sub工程運行后,效果如圖10.5所示:圖10.5 實例10.3效果圖 10.2.3 MediaPlayer控件控件 提供MediaPlayer控件的文件是“Msdxm.ocx”,添加該控件的方法是在“工程”菜單中選擇“部件”菜單命令,在打開的“部件”對話框中點擊“瀏覽”按鈕,接著找到該文件并將其
18、加載到常用工具箱中即可。該控件(如圖10.8所示)可以播放WAV、MP3、MIDI、MOV、AVI、MPEG等多種格式的多媒體文件,還提供了一個播放面板,其內(nèi)有控制播放的各種按鈕和軌跡條。圖10-6 MediaPlayer控件外觀1屬性MediaPlayer控件的屬性和方法有許多與ActiveMovie控件的相似。常用的屬性有:EnableContextMenu屬性:用來設置是否可以單擊鼠標右鍵調出控制菜單。ShowPositionControls屬性:用來設置是否顯示位置控制按鈕。ShowStatusBar屬性:用來設置是否顯示信息條。AutoRewind屬性:用來設置是否可以拖拽面板中的滑
19、塊,以調整播放的畫面。EnablePositionControls屬性:用來設置位置控制按鈕是否有效。DisplaySize屬性:用來設置畫面的大小。EnableTracker屬性:用來設置是否可以用鼠標拖拽軌跡條中的滑塊。URL屬性:用來指定媒體位置,本機或者網(wǎng)絡地址。2方法 Duration方法:可以獲得播放多媒體文件所用的時間。 Play方法:開始播放。 pause方法:暫停播放。 stop方法:停止播放。 該控件的控制菜單命令可以用來控制多媒體的播放、暫停和停止,可以調整畫面的大小,可以全屏顯示。其中的“選項”菜單命令可以調出MediaPlayer多媒體控件的“選項”對話框,如圖10-
20、7所示。圖10.9 MediaPlayer多媒體控件的“選項”對話框 10.3 10.3 利用利用APIAPI函數(shù)函數(shù)制作多媒體程序的方法制作多媒體程序的方法返回首頁 API(Application Programming Interface)是Windows應用程序編程接口的簡稱,是一個由操作系統(tǒng)所支持的函數(shù)聲明、參數(shù)定義和信息格式的集合,其中包含了許多的函數(shù)、例程、類型和常數(shù)定義。API函數(shù)包含在Windows系統(tǒng)目錄下的動態(tài)鏈接庫(DLL)文件中,主要的DLL有Windows內(nèi)核庫(Knernel32.dll)、Windows用戶界面管理庫(User32.dll)、Windows圖形設備
21、界面(GDI32.dll)、多媒體函數(shù)(Winmm.dll)等。 用戶可以使用VB程序直接調用所有的Win32 API函數(shù)。在VB中,要訪問API函數(shù)的話,必須在VB應用程序的模塊中用Declare語句來聲明要使用的API函數(shù)。聲明的格式如下: Private/Public Declare Function API函數(shù)名 Lib “庫名” Alias “別名” 參數(shù)列表as類型 其實,VB提供了專門的工具來完成聲明API函數(shù)的任務,此工具為“API文本瀏覽器”。因此,用戶不必編寫復雜的聲明API函數(shù)的代碼,而可以直接將保存有該代碼的文本文件通過此工具調出來,并復制到VB應用程序的模塊中即可。比
22、如Win32api.txt文本文件,它包含了經(jīng)常使用的許多API過程聲明,可以使用“API文本瀏覽器”將其從VB主目錄下的Winapi子目錄中調出來。方法步驟如下: 1.打開“工程”菜單,選擇“添加模塊”命令,添加一個模塊。 2.打開“外接程序”菜單,選擇“外接程序管理器”命令,即可打開“外接程序管理器”對話框,如圖10.10所示。圖10-8 “外接程序管理器”對話框 3.在打開的“外接程序管理器”對話框中選中“可用外接程序”列里的“Visual Basic 6 API Viewer”選項。再單擊對話框下方“加載行為”欄內(nèi)的“在啟動中加載”和“加載/卸載”復選框。4.單擊“確定”按鈕,即將“V
23、isual Basic 6 API Viewer”程序加載到VB中了。之后,在“外接程序”菜單中會增加一個“API瀏覽器”菜單項。5.在“外接程序”菜單中點擊“API瀏覽器”菜單項,就可以打開“API瀏覽器”對話框,如圖10.11所示。圖10-9 “API瀏覽器”對話框 加載好“Visual Basic 6 API Viewer”程序后,就可以使用其進行查看并復制文本文件或Jet數(shù)據(jù)庫文件了。 MciExecute()函數(shù)的功能就是執(zhí)行MCI設備的命令,它只有一個參數(shù)即MCI指令字符串, 當出現(xiàn)錯誤時將自動彈出對話框。使用MciExecute()函數(shù)既可以播放動畫文件又可以播放聲音文件。下面是
24、對music.wav文件分別進行打開、播放、停止、關閉的控制程序: 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ù),第一個是MCI命令字符串,第二個是預備的文本緩沖區(qū),第三個是文本緩沖區(qū)的長度,還有一個用來接收確認信息,在VB中可恒置為0。 利用API函數(shù)播放音頻文件除了可以
25、調用MciExecute()函數(shù)和MciSendString()函數(shù)外,還可以調用MessageBeep、SndPlaySound和PlaySound函數(shù)來實現(xiàn)。MessageBeep函數(shù)是標準的Win32 API函數(shù),一般用于播放系統(tǒng)的報警聲音。它的聲明語句如下:Declare Function MessageBeep Lib “User32.dll”(ByVal wType As Long) As LongPlaySound函數(shù)主要用于播放給定的音頻文件、WAV資源與系統(tǒ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是播放標志。SndPlaySound函數(shù)是PlaySound函數(shù)的子集,其聲明語句如下:Declare Function sndPlaySound Lib “Winmm.dll” Alias “sndPlaySoundA”(ByVal lpszSoundName As String,ByVal uFl
27、ags As Long)As Long實例10.4:使用API函數(shù)制作音頻播放器 如圖10.12所示,向窗體中添加一個CommonDialog通用對話框控件、兩個Label標簽控件、兩個命令按鈕控件。其中兩個命令按鈕Command1、Command2的Caption屬性分別修改為“打開”、“停止”。在代碼窗口的最頂端輸入變量的定義和函數(shù)的聲明,如下代碼:Option ExplicitPrivate Declare Function mciExecute Lib winmm.dll (ByVal lpstrCommand As String) As LongDim MARK As Integer, RtValue As Long加載窗體時進行初始化的代碼如下:Private Sub Form_Load()MARK = 0RtValue = 0End Sub第一個按鈕“打開”的單擊事件代碼如下: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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療領域知識產(chǎn)權戰(zhàn)略規(guī)劃-全面剖析
- 噪聲治理法規(guī)與標準制定-全面剖析
- 制造業(yè)客戶質量問題處理流程
- 家禽養(yǎng)殖過程中的環(huán)境影響與調控-全面剖析
- 2025年蘇教版小學數(shù)學教學交流計劃
- 云服務環(huán)境下的移動數(shù)據(jù)安全傳輸-全面剖析
- 中學道德與法制課程改革實施計劃
- 無機堿制造業(yè)的政策法規(guī)演變-全面剖析
- 幼兒園親子活動實心球教學計劃
- 2025高考漫畫作文:在風雨中堅韌在陽光中歡笑
- Z世代消費態(tài)度洞察報告
- 水電站監(jiān)理部帷幕灌漿培訓講義ppt(18頁)
- 招聘求職簡歷制作表格模板可編輯下載 精品面試簡歷模板 單頁簡歷優(yōu)雅簡約單頁16
- 辦公樓辦公室改檔案室結構加固施工方案(15頁)
- 服務質量控制QoSPPT課件[通用]
- 鐵路項目橋梁墩臺身施工方案
- 特種設備臺賬格式模板【新版】
- 油田項目部職工大會行政工作報告(終稿)
- 管理人員進車間安全事項
- (完整版)筏板基礎施工方案
- 橋架一點通大全
評論
0/150
提交評論