西工大VB的課件_第1頁(yè)
西工大VB的課件_第2頁(yè)
西工大VB的課件_第3頁(yè)
西工大VB的課件_第4頁(yè)
西工大VB的課件_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第12章 Visual Basic多媒體應(yīng)用多媒體技術(shù)是計(jì)算機(jī)處理文本(text)、圖像(image)、圖形(graphic)、音頻(audio)、視頻(video)等多種信息的綜合技術(shù)。它的出現(xiàn)使計(jì)算機(jī)在人類的文化娛樂(lè)活動(dòng)中扮演了重要的角色,使越來(lái)越多的人和計(jì)算機(jī)交上了朋友。本章主要介紹多媒體控件、API函數(shù)、外部引用等方法,通過(guò)實(shí)例來(lái)介紹多媒體應(yīng)用程序的開發(fā)。退出12.1 多媒體基礎(chǔ)12.2 MCI命令和MMControl控件12.3 API函數(shù)12.4 引用外部功能編程12.1 多媒體基礎(chǔ)VB6.0提供了媒體控制接口MCI(Media Control Interface)命令,讓用戶可以

2、方便地使用計(jì)算機(jī)中的多媒體設(shè)備;提供了訪問(wèn)Windows應(yīng)用程序接口(API)的方法,通過(guò)調(diào)用API函數(shù),可以使用許多Windows的高級(jí)功能。還可以通過(guò)引用外部程序如MStts(微軟發(fā)音引擎)等,實(shí)現(xiàn)更多的多媒體功能。多媒體的音頻和視頻有多種格式。12.2 MCI命令和MMControl控件12.2.1 MCI命令MCI提供了許多與設(shè)備無(wú)關(guān),由應(yīng)用程序直接調(diào)用的命令。12.2.2 MMControl控件MMControl(Microsoft Multimedia Control)控件是一個(gè)用戶和Windows多媒體系統(tǒng)之間的接口,是Visual Basic 6.0中進(jìn)行多媒體設(shè)計(jì)的重要部件。

3、1MMControl控件的添加2MMControl控件的按鈕功能3MMControl控件的常用屬性12.2.3 MMControl控件的特有事件及編程步驟1事件2編程步驟(1)在工具箱中加載MMControl控件,并繪制到窗體中。(2)用MMControl控件的DeviceType屬性設(shè)定多媒體設(shè)備類別。其值如表12-1所示。(3)用FileName屬性指定多媒體文件。(4)用MMControl控件的Command屬性控制多媒體設(shè)備。(5)編寫相應(yīng)特殊按鈕的響應(yīng)代碼。(6)設(shè)備使用完畢后,注意用MMControl控件的Command屬性的Close關(guān)閉設(shè)備。12.2.4 應(yīng)用舉例【例12.1】

4、制作一個(gè)簡(jiǎn)單的.wav文件播放器。在窗體上放置多媒體控制部件MMControl,運(yùn)行界面如圖12-2所示。以播放“c:windowsmedialogoff.wav”為例。程序代碼如下: Private Sub Form_Load() Form1.MMControl1.Notify = False Form1.MMControl1.Wait = True Form1.MMControl1.Shareable = False Form1.MMControl1.DeviceType = WaveAudio Form1.MMControl1.FileName = c:windowsmedialogof

5、f.wav Form1.MMControl1.Command = Open End Sub啟動(dòng)程序,點(diǎn)擊播放按鈕,就可以聽到logoff.wav的聲音效果了。12.3 API函數(shù)12.3.1 API函數(shù)簡(jiǎn)介所謂API就是“應(yīng)用程序接口”(Application Programing Interface),它是一些由操作系統(tǒng)自身調(diào)用的函數(shù)。Windows API函數(shù)由許多“動(dòng)態(tài)鏈接庫(kù)”或DLL組成。在32位Windows中,核心的API DLL有:gdi32.dll:圖形顯示界面的API。kernel32.dll:處理低級(jí)任務(wù)(比如內(nèi)存和任務(wù)管理)的API。user32.d11:處理窗口和消息(

6、Visual Basic程序員能把其中一些當(dāng)作事件訪問(wèn))的API。Winmm.dll:處理多媒體任務(wù)(如波形音頻、MIDI音樂(lè)和數(shù)字影像等)的API。多媒體編程中主要使用的API函數(shù)就在這個(gè)鏈接庫(kù)中。還不斷有新的API出現(xiàn),處理新的操作系統(tǒng)擴(kuò)展,比如E-MAIL、聯(lián)網(wǎng)和新的外設(shè)。12.3.2 API函數(shù)的說(shuō)明由于Windows API函數(shù)不是Visual Basic的內(nèi)部函數(shù),所以在使用它們之前必須加以聲明。說(shuō)明API函數(shù)一般有兩種方法:一種是使用說(shuō)明語(yǔ)句,另一種是使用Win32api.txt中的說(shuō)明文本復(fù)制到代碼窗口中。下面先介紹說(shuō)明語(yǔ)句,使讀者對(duì)其中的主要關(guān)鍵字的意義有所了解,然后介紹VB

7、中訪問(wèn)Win32api.txt的方法。格式:Declare Function 函數(shù)名 Lib庫(kù)名 Alias 別名(ByVal 參數(shù)1 As 類型,ByVal 參數(shù)n As 類型)As 函數(shù)類型。說(shuō)明:(1)聲明中的Lib 和 Alias 的意義(2)常見的API參數(shù)類型的說(shuō)明(3)聲明中ByVal的作用(4)API函數(shù)完整聲明的簡(jiǎn)便方法訪問(wèn)步驟:首先打開“外接程序”菜單執(zhí)行“外接程序管理器”命令,在“可用外接程序”框中選定VB6 API VIEWER,在“加載行為”復(fù)選框中選定“加載/卸載”,確定后在“外接程序”菜單中添加了“API瀏覽器”。API瀏覽器如圖12-4所示。在“文件”菜單中執(zhí)行

8、“加載文本文件”,出現(xiàn)打開文件對(duì)話框,如圖12-5所示所示。選擇Win32API.TXT在API瀏覽器中出現(xiàn)了可用項(xiàng),選中需要聲明的函數(shù),把“選定項(xiàng)”中的文本復(fù)制到相應(yīng)的模塊(一般是.BAS標(biāo)準(zhǔn)模塊或代碼的通用說(shuō)明部分),API函數(shù)的聲明就完成了。由于API函數(shù)大多是由C+編制,而C+和VB的變量類型有很大差異,聲明中如考慮不周很容易造成錯(cuò)誤調(diào)用。因此,建議讀者盡量使用API瀏覽器聲明API函數(shù)。12.3.3 API多媒體函數(shù)應(yīng)用舉例【例12.3】 利用API函數(shù)制作CD播放器。在本例中使用mciExecute函數(shù),首先添加標(biāo)準(zhǔn)模塊寫入聲明使用該函數(shù)。 Public Declare Funct

9、ion mciExecute Lib winmm.dll _ Alias mciExecute(ByVal lpstrCommand As String)As Long界面設(shè)置如圖12-6所示,各控件屬性按圖例修改Caption屬性值。其它屬性用默認(rèn)值。 在窗體加載模塊設(shè)置按鈕屬性 Private Sub Form_Load() Command1.Enabled = True Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.E

10、nabled = True End Sub 打開媒體設(shè)備 Private Sub Command1_Click() mciExecute open cdaudio alias cd Command1.Enabled = False Command2.Enabled = True Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False End Sub 播放音樂(lè) Private Sub Command2_Click() mciExecute play cd Command2.Enabled = False

11、 Command3.Enabled = True Command4.Enabled = False Command5.Enabled = False End Sub 停止 Private Sub Command3_Click() mciExecute stop cd Command2.Enabled = True Command3.Enabled = False Command4.Enabled = True Command5.Enabled = True End Sub 倒回開頭位置 Private Sub Command4_Click() mciExecute seek cd to sta

12、rt Command1.Enabled = False Command2.Enabled = True Command3.Enabled = False Command4.Enabled = False Command5.Enabled = True End Sub 彈出CD Private Sub Command5_Click() If Command5.Caption = 彈碟 Then mciExecute seek cd door open Command5.Caption = 回位 Else mciExecute seek cd to close Command5.Caption =

13、 彈碟 End If Command1.Enabled = False Command2.Enabled = True Command3.Enabled = False Command4.Enabled = False End Sub 關(guān)閉設(shè)備及程序 Private Sub Command6_Click() mciExecute close cd End End Sub 聲道及聲音控制 Private Sub Option1_Click(index As Integer) mciExecute set cd audio all off Select Case index Case 0 mciE

14、xecute set cd audio lift on Case 1 mciExecute set cd audio right on Case 2 mciExecute set cd audio all on mciExecute set cd audio lift on mciExecute set cd audio right on End Select End Sub12.4 引用外部功能編程12.4.1 MSTTS簡(jiǎn)介在VB中除了Windows的功能外,還可以調(diào)用外部的功能鏈接庫(kù)。下面我們通過(guò)對(duì)英文發(fā)音引擎的調(diào)用,來(lái)介紹通過(guò)外部引用的方法進(jìn)行多媒體編程。MSTTS是微軟出品的一套文字朗讀引擎(Microsoft Text-To-Speech Engine)。由兩個(gè)文件組成(MSTTS.EXE和SPCHAPI.EXE),執(zhí)行后在Windows文件夾下添加了一個(gè)Speech文件夾。它提供了全篇英文朗讀功能。在Windows中安裝MSTTS后,實(shí)質(zhì)上就是添加了語(yǔ)音朗讀功能和英文朗讀API功能聯(lián)接庫(kù)(Microsoft Text-To-Speech Engine和 Microsoft Speech API 4.0),在VB中可以通過(guò)引用Speech文件夾下的Vtxtauto.tlb文件來(lái)實(shí)現(xiàn)英文朗

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論