《Visual Basic程序設(shè)計項目化案例教程》第10章 多媒體及網(wǎng)絡(luò)技術(shù)_第1頁
《Visual Basic程序設(shè)計項目化案例教程》第10章 多媒體及網(wǎng)絡(luò)技術(shù)_第2頁
《Visual Basic程序設(shè)計項目化案例教程》第10章 多媒體及網(wǎng)絡(luò)技術(shù)_第3頁
《Visual Basic程序設(shè)計項目化案例教程》第10章 多媒體及網(wǎng)絡(luò)技術(shù)_第4頁
《Visual Basic程序設(shè)計項目化案例教程》第10章 多媒體及網(wǎng)絡(luò)技術(shù)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【案例10-1】多媒體播放器【案例10-2】網(wǎng)頁瀏覽器【本章小結(jié)】

一、案例效果

本案例是一個簡易的多媒體播放器。當(dāng)用戶單擊“文件”—“打開”命令后,彈出“打開”對話框,確定具體的文件類型后選擇相應(yīng)的文件,在“文件名”標(biāo)簽中顯示完整的路徑名。單擊“控制”—“播放”命令后,開始播放文件,進度條顯示播放進度。此時如果單擊“控制”—“暫?!泵睿瑢和N募牟シ?,再次選擇“播放”命令,將從暫停處繼續(xù)播放。倘若單擊“停止”命令文件將停止播放,再次單擊“播放”命令時,文件將從頭開始播放。“控制”—“循環(huán)播放”可以控制文件是否循環(huán)播放。界面如圖10-1所示?!景咐?0-1】多媒體播放器圖10-1

二、技術(shù)分析

本案例中共涉及到3個新的控件,分別是MMControl控件、CommonDialog控件與ProgressBar控件。這3個控件都是高級控件,在使用前必須先添加到工具箱中。

添加的方法是:選擇“工程”—“部件”菜單命令,彈出如圖10-2所示的“部件”對話框,在“控件”選項卡的下拉列表中選中“MicrosoftCommonDialogControl6.0”復(fù)選框、“Microsofr

MultiMediaControl6.0”復(fù)選框及“MicrosoftWindowsCommonControl6.0”復(fù)選框,然后單擊“確定”按鈕,則工具箱上就會出現(xiàn)對話框(CommonDialog)控件、多媒體(MMcontrol)控件、進度條(ProgressBar)控件。圖10-2

1.多媒體MMControl控件()

本案例中使用的第一個多媒體控件是MMControl控件。MMControl控件用于管理媒體控制接口(MCI)設(shè)備上的多媒體文件的錄制與播放。實際上,這種控件就是一組按鈕,用來向音頻和視頻設(shè)備發(fā)出MCI命令。這些按鈕類似于一般CD機或錄像機上的按鍵。在設(shè)計時,其外觀如圖10-3所示。圖10-3

1)?MMControl控件的常用屬性

(1)?AutoEnable屬性。該屬性決定MMControl控件是否能夠自動啟動或關(guān)閉控件中的每個按鈕。如果將其值設(shè)置為True,MMControl控件就啟用指定MCI設(shè)備類型在當(dāng)前模式下所支持的全部按鈕;如果將其值設(shè)置為False,則不能啟用或禁用按鈕。

(2)?ButtonEnabled屬性。該屬性決定是否啟用或禁用控件中的某個按鈕,禁用的按鈕以淡化形式顯示。當(dāng)其值為True時,則啟用指定的按鈕;當(dāng)其值為False時,不啟用指定的按鈕。

(3)?ButtonVisible屬性。該屬性用來決定指定的某個按鈕是否在控件中顯示。當(dāng)其值為True時,則顯示指定的按鈕;當(dāng)其值為False時,則隱藏指定的按鈕。

(4)?Command屬性。該屬性用來指定將要執(zhí)行的MCI命令,在設(shè)計時不可用。

其語法格式如下:

MMControl控件.Command[=命令]

其中,命令及其功能描述參見表10-1。

(5)?DeviceType屬性。該屬性用來指定要打開的MCI設(shè)備類型。

(6)?FileName屬性。該屬性用于獲取要播放的多媒體文件名,值為包含文件目錄和文件名稱的字符串。

(7)?hWndDisplay屬性。該屬性用來定位畫面播放的位置。

(8)?Position屬性。該屬性用來指定打開的MCI設(shè)備的當(dāng)前位置。在設(shè)計時Position屬性不可用,在運行時它是只讀的。

(9)?Mode屬性。該屬性返回打開的MCI設(shè)備的當(dāng)前模式。在設(shè)計時Mode屬性不可用,在運行時它是只讀的。

(10)?UpdateInterval屬性。該屬性規(guī)定兩次連續(xù)的StatusUpdate事件之間的時間,單位是ms(毫秒),如果是0ms,則表明沒有StatusUpdate事件發(fā)生。

(11)?Wait屬性。該屬性決定MMControl控件是否要等到下一條MCI命令完成,才能將控件返回應(yīng)用程序。在設(shè)計時,該屬性不可用。

2)?MMControl控件的常用命令

MMControl控件的常用命令見表10-1。表10-1MMControl控件的MCI命令

2.CommonDialog(通用對話框)控件()

本案例中涉及到的第二個控件是CommonDialog(通用對話框)中的“文件”對話框?!拔募睂υ捒蛴糜讷@取文件名的操作有兩種模式:打開文件和保存文件。在這兩種對話框窗口內(nèi),可遍歷磁盤的整個目錄結(jié)構(gòu),找到所需要的文件。

1)?CommonDialog(通用對話框)控件用于文件操作時的常用屬性

(1)?FileName

屬性,獲取或設(shè)置用戶所要打開的文件的路徑和文件名。該屬性為文件名字符串,用于設(shè)置“打開”對話框中“文件名稱”文本框中顯示的文件名。

(2)?Filter屬性,用來指定在對話框中顯示的文件類型。用Filter屬性可以設(shè)置多個文件類型,供用戶在對話框的“文件類型”的下拉列表中選擇。Filter的屬性值是一個字符串,字符串由一組元素或用管道符“|”隔開的分別表示不同類型文件的多組元素組成,在“|”前面的部分稱為描述符,后面的部分一般為通配符和文件擴展名,稱為“過濾器”。例如:CommonDialog控件.Filter=描述符1|過濾器1|描述符2|過濾器2…

(3)?Flag屬性,為文件對話框設(shè)置選擇開關(guān),用來控制對話框的外觀。

如:CommonDialog.控件.Flag[=值]

其中:“值”是一個整數(shù),可以使用3種形式,即符號常量、十六進制整數(shù)和十進制整數(shù),這里僅介紹常用的幾個,見表10-2。

(4)CancelError

屬性。如果該屬性被設(shè)置為True,則當(dāng)單擊“Cancel”(取消)按鈕關(guān)閉一個對話框時,將顯示出錯信息;如果設(shè)置為False(默認(rèn)),則不顯示出錯信息。表10-2Flag屬性取值含義2)?CommonDialog(通用對話框)控件的常用方法

(1)?ShowOpen

方法,顯示“打開”對話框。

如:CommonDialog1.ShowOpen

(2)?ShowSave方法,顯示“另存為”對話框。

如:CommonDialog1.ShowSave

(3)?ShowPrint方法,顯示“打印”對話框。

如:CommonDialog1.ShowPrint

3.ProgressBar(進度條)控件()

本案例中涉及到的第三個新控件是ProgressBar控件。該控件有3個常用屬性:

(1)?Value屬性。該屬性值對應(yīng)于進度條中顯示的進度位置。

(2)?Max屬性,定義Value屬性值的最大值。

(3)?Min屬性,定義Value屬性值的最小值。三、操作步驟

1.創(chuàng)建程序界面

(1)啟動VisualBasic6.0,新建一個“標(biāo)準(zhǔn)EXE”工程。

(2)在窗體上添加1個標(biāo)簽控件、2個定時器控件、1個進度條(ProgressBar)控件、1個通用對話框(CommonDialog)控件、1個多媒體(MMcontrol)控件。另外,利用“工具”—“菜單編輯器”在窗體上添加1個菜單,各菜單項設(shè)置如表10-3所示。表10-3設(shè)?置?菜?單?項2.屬性的設(shè)置與修改

按照表10-4所列設(shè)置各對象的屬性。表10-4設(shè)置對象的屬性

3.程序代碼設(shè)計

(1)窗體加載事件的代碼如下:

PrivateSubForm_Load()

Timer1.Interval=60

MMC1.hWndDisplay=0

CD1.Filter=“MP3文件(*.MP3)|*.mp3|CD音頻(*.wav)|*.wav||所有文_件(*.*)|*.*”

EndSub(2)“文件”—“打開”命令單擊事件的代碼如下:

PrivateSubFileOpen_Click()

MMC1.UpdateInterval=0

CD1.Flags=vbofnreadonlyOrvbofnfilemustexist

CD1.CancelError=True

CD1.FileName=""

OnErrorResumeNext

CD1.ShowOpen

MMC1.FileName=CD1.FileName

IfMMC1.FileName=""Then

ExitSub

Else

Label1.Caption=MMC1.FileName

EndIf

IfNotMMC1.Mode=vbmcimodenotopenThen

MMC1.Command="close"

EndIf

MMC1.Command="open"

Timer1.Enabled=True

PB1.Max=MMC1.Length

PB1.Min=1

EndSub(3)“文件”—“關(guān)閉”命令單擊事件的代碼如下:

PrivateSubClose_Click()

MMC1.Command="close"

Timer1.Enabled=False

PB1.Value=1:

Label1.Caption="文件名:"

EndSub

(4)“文件”—“退出”命令單擊事件的代碼如下:

PrivateSubQuit_Click()

End

EndSub(5)“控制”—“播放”命令單擊事件的代碼如下:

PrivateSubFilePlay_Click()

MMC1.Command="play"

EndSub

(6)“控制”—“循環(huán)播放”命令單擊事件的代碼如下:

PrivateSubCFilePlay_Click()

IfCFilePlay.Caption="循環(huán)播放"Then

CFilePlay.Caption="非循環(huán)播放"

Timer2.Enabled=False

Else

CFilePlay.Caption="循環(huán)播放"

Timer2.Enabled=True

EndIf

EndSub(7)“控制”—“暫?!泵顔螕羰录拇a如下:

PrivateSubFilePause_Click()

MMC1.Command="pause"

EndSub

(8)“控制”—“停止”命令單擊事件的代碼如下:

PrivateSubStop_Click()

MMC1.Command="stop"

MMC1.Command="prev"

EndSub(9)時鐘控件1的代碼如下:

PrivateSubTimer1_Timer()

OnErrorResumeNext

PB1.Value=MMC1.Position

EndSub

(10)時鐘控件2的代碼如下:

PrivateSubTimer2_Timer()

IfPB1.Value=PB1.MaxThen

MMC1.Command="prev"

MMC1.Command="play"

EndIf

EndSub4.程序代碼調(diào)試

輸入程序代碼后,完成程序代碼的調(diào)試和修改。

四、探索與思考

上述案例可以播放MP3、WAV、AVI等格式的文件,如何改進程序使其能播放MOV、ASF、MPG等格式的文件?

五、學(xué)生自主設(shè)計——播放器

1.設(shè)計要求

1)基本部分——模仿

用Mmcontrol控件與CommonDialog控件制作一個VCD播放器。

2)拓展部分——創(chuàng)意設(shè)計

試設(shè)計一個影片播放器,界面可參照圖10-4。圖10-4

2.知識準(zhǔn)備

要完成自主設(shè)計內(nèi)容,需掌握以下知識:

(1)?MMControl控件的常用屬性、常用命令。

(2)?CommonDialog控件的常用屬性、常用方法。

(3)?選擇結(jié)構(gòu)中二分支語句的格式與應(yīng)用。

3.效果評價標(biāo)準(zhǔn)

請對照表10-5完成自主設(shè)計的效果評價。表10-5效?果?評?價?表

4.設(shè)計小結(jié)

請將你的設(shè)計過程、設(shè)計體會、在設(shè)計過程中遇到的問題以及解決方法寫在下面。一、案例效果

本案例運用一些網(wǎng)絡(luò)控件實現(xiàn)了一個簡單的瀏覽器,該瀏覽器具有IE的大部分網(wǎng)絡(luò)瀏覽功能,如通過“網(wǎng)頁”菜單的子菜單可以實現(xiàn)前進、后退、刷新、停止等功能。本案例程序的運行效果如圖10-6所示?!景咐?0-2】網(wǎng)?頁?瀏?覽?器圖10-6

二、技術(shù)分析

本案例中主要運用了1個網(wǎng)絡(luò)控件(WebBrowser控件)、1個通用對話框(CommonDialog控件)、一個ComboBox控件、1個標(biāo)簽控件和1個命令按鈕控件。這里主要介紹網(wǎng)絡(luò)控件——WebBrowser控件和窗體控件的Resize事件,其他控件及技術(shù)在前面的章節(jié)已有介紹,這里不再綴述。

1.WebBrowser控件

WebBrowser控件由IE所提供,可以將其以ActiveX控件形式應(yīng)用到VisualBasic程序中。該控件允許將Web頁面作為VisualBasic窗體的一部分運行,主要用于網(wǎng)絡(luò)瀏覽器的設(shè)計。WebBrowser控件是一個高級控件,必須首先將其添加到工具箱中才能使用。

添加方法:選擇“工程”—“部件”菜單命令,在打開的“部件”對話框中將“MicrosoftInternetControls”前面的復(fù)選框選中,然后單擊“確定”按鈕,則WebBrowser控件添加到工具箱中了。1)?WebBrowser控件的常用屬性

(1)?Top屬性,用于設(shè)置該控件距窗體頂部的距離。

(2)?Left屬性,用于設(shè)置該控件距窗體左邊界的距離。

(3)?Height屬性,用于設(shè)置該控件的高度。

(4)?Width屬性,用于設(shè)置該控件的寬度。

2)?WebBrowser控件的常用方法

(1)?Navigate2方法。該方法用來打開指定的網(wǎng)頁。例如:

WebBrowser1.Navigate2“Http://”

表示使用WebBrowser1控件的Navigate2方法打開Http://網(wǎng)頁。

(2)?Goback方法。用該方法來實現(xiàn)網(wǎng)頁的“后退”操作。

(3)?GoForward方法。用該方法來實現(xiàn)網(wǎng)頁的“前進”操作。

(4)?Refresh方法。用該方法來實現(xiàn)網(wǎng)頁的“刷新”操作。

(5)?Stop方法。用該方法來實現(xiàn)“停止”打開網(wǎng)頁。

2.窗體控件

窗體控件前面我們已經(jīng)接觸過了,這里僅介紹窗體的Resize事件。

Resize事件也是窗體最常用的事件,當(dāng)窗體第一次顯示或窗體狀態(tài)發(fā)生改變時觸發(fā)該事件。如:一個窗體大小改變、最大化、最小化或還原時發(fā)生該事件。三、操作步驟

1.創(chuàng)建程序界面

(1)啟動VisualBasic6.0,新建一個“標(biāo)準(zhǔn)EXE”工程。

(2)在窗體上添加1個標(biāo)簽、1個命令按鈕、1個組合框、1個通用對話框和1個WebBrowser控件,并用菜單編輯器設(shè)計一個菜單,菜單的各項設(shè)置如表10-6所示。表10-6設(shè)置各菜單項2.屬性的修改與設(shè)置

請按表10-7所列設(shè)置對象的屬性。表10-7設(shè)置對象的屬性3.程序代碼設(shè)計

(1)窗體加載事件的代碼如下:

PrivateSubForm_Load()

CommonDialog1.Filter="Html網(wǎng)頁|*.htm;*.html|全部文件|*.*"

Combo1.AddItem"Http://"

Combo1.AddItem"Http://"

Combo1.AddItem"Http://"

Combo1.ListIndex=0

Me.WindowState=2

EndSub(2)窗體大小改變事件的代碼如下:

PrivateSubForm_Resize()

WebBrowser1.Height=Me.Height-500

WebBrowser1.Width=Me.Width-400

EndSub

(3)組合框中鍵盤按下事件的代碼如下:

PrivateSubCombo1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then

WebBrowser1.Navigate2Combo1.Text

Combo1.AddItemCombo1.Text

EndIf

EndSub(4)命令按鈕單擊事件的代碼如下:

PrivateSubCommand1_Click()

WebBrowser1.Navigate2Combo1.Text

EndSub

(5)“文件”—“打開”菜單的代碼如下:

PrivateSubFileOpen_Click()

CommonDialog1.ShowOpen

Combo1.AddItemCommonDialog1.FileName

Combo1.ListIndex=Combo1.NewIndex

WebBrowser1.Navigate2Combo1.Text

EndSub(6)“文件”—“退出”菜單的代碼如下:

PrivateSubQuit_Click()

End

EndSub

(7)“網(wǎng)頁”—“前進”菜單的代碼如下:

PrivateSubgofore_Click()

WebBrowser1.GoFo

溫馨提示

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

評論

0/150

提交評論