畢業(yè)設(shè)計(jì)(論文)-簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn).doc_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn).doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

簡(jiǎn)單的媒體播放器的設(shè)計(jì)與實(shí)現(xiàn)摘 要如今流行的媒體播放器雖然很多,但都或多或少存在一些缺陷,比如:沒(méi)有記憶的功能;下次播放的時(shí)候不能從上次離開(kāi)的曲目開(kāi)始;沒(méi)有身份認(rèn)證功能;不能有效的保護(hù)媒體播放器里面的歌曲專(zhuān)有性;功能組合與用戶(hù)的習(xí)慣相違背;界面太復(fù)雜以及操作太難等。隨著人們對(duì)娛樂(lè)要求的提高,一款別致的、貼近用戶(hù)操作習(xí)慣的播放器非常值得去研究和開(kāi)發(fā)。本論文所描述的播放器是在Microsoft Visual Studio .NET 2003平臺(tái)下利用Visual Basic.NET語(yǔ)言完成的。使用Visual Basic.NET提供的Windows Media Player控件以及文件處理,最終實(shí)現(xiàn)一款別致的,貼近用戶(hù)操作習(xí)慣的媒體播放器。該播放器實(shí)現(xiàn)了對(duì)WAV、MID、MP3、MOV等格式的多媒體文件的播放功能;實(shí)現(xiàn)了播放列表加載多個(gè)多媒體文件并可以自定義播放順序;實(shí)現(xiàn)了用戶(hù)的身份認(rèn)證、連續(xù)播放、記憶播放以及自動(dòng)關(guān)閉播放器等功能。關(guān)鍵詞:媒體播放器;Visual Basic.NET;Microsoft Visual Studio .NET 2003;Windows Media Player控件;記憶功能The Design and Implement of a Simple Media PlayerAbstractNowadays, there are many popular media players. They have more or less certain shortcomings. For example, the media player is no memory function, the next player didnt start from the program the last time leaved; no identity authentication, no effective protection for the proprietary of songs in the media player; function combination is against the users habit, or complex interface, too difficult to operate and so on. With the improvement of requirements for the entertainment, a chic player which closed to the peoples operation habit is very worth researching and designing.The thesis described the player which was developed by Visual Basic.NET based on Microsoft Visual Studio .NET 2003. Implement using file manipulation and windows media player controls, ultimately implement a media player which is unique and press close to user habit.The player realized play function for the multimedia documents of WAV, MID, MP3, MOV formats and so on; realized to load several multimedia files by playlists and customize the play order; realized the function of identity authentication, continuous play, memory function and realized to be automatically shutted down.Key words: Media player; Visual Basic.NET; Microsoft Visual Studio .NET 2003; Windows media Player Controls; Memory function目 錄論文總頁(yè)數(shù):26頁(yè)1引言11.1項(xiàng)目背景11.2國(guó)內(nèi)外現(xiàn)狀11.3項(xiàng)目意義21.4項(xiàng)目實(shí)現(xiàn)方法22開(kāi)發(fā)運(yùn)行平臺(tái)分析22.1Microsoft Visual Studio .NET 200322.2Visual Basic.NET技術(shù)32.3Windows Media Player控件33系統(tǒng)總體分析43.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)及分析43.2系統(tǒng)功能設(shè)計(jì)43.2.1認(rèn)證53.2.2文件加載53.2.3播放53.2.4關(guān)閉64系統(tǒng)實(shí)施方案64.1媒體播放器界面設(shè)計(jì)64.2身份認(rèn)證74.2.1登錄74.2.2認(rèn)證修改84.3文件加載系統(tǒng)104.3.1打開(kāi)104.3.2添加124.3.3清空134.4文件播放系統(tǒng)144.4.1暫停/播放144.4.2停止154.4.3自定義播放順序154.4.4連續(xù)播放多個(gè)文件的實(shí)現(xiàn)164.4.5記憶播放174.5關(guān)閉184.6全屏205系統(tǒng)運(yùn)行及測(cè)試結(jié)果215.1測(cè)試方案215.1.1測(cè)試方法215.1.2測(cè)試方案選擇215.2測(cè)試結(jié)果21結(jié) 論23參考文獻(xiàn)241 引言1.1 項(xiàng)目背景多媒體播放器的設(shè)計(jì)是一門(mén)集計(jì)算機(jī)技術(shù)和數(shù)字多媒體技術(shù)于一體的綜合設(shè)計(jì)。隨著中國(guó)計(jì)算機(jī)技術(shù)、寬帶網(wǎng)絡(luò)技術(shù)的發(fā)展,越來(lái)越多的人開(kāi)始重視多媒體播放器的發(fā)展與應(yīng)用。再加上如今的播放器雖然種類(lèi)多樣化,但無(wú)論是Windows系統(tǒng)自帶的Windows Media Player播放器,還是現(xiàn)在網(wǎng)上流行的千千靜聽(tīng),或者是Kugoo播放器都或多或少都存在著一些缺點(diǎn),而這些缺點(diǎn)要么是界面與人們平時(shí)的生活習(xí)慣不相符,或者是復(fù)雜難懂;要么就是功能不全不能滿足人們對(duì)網(wǎng)絡(luò)娛樂(lè)的追求。隨著多媒體的發(fā)展,市場(chǎng)潛力的開(kāi)發(fā),多媒體硬件環(huán)境和軟件環(huán)境的不斷完善,以及多媒體播放器開(kāi)發(fā)環(huán)境的成熟,尤其是Microsoft公司開(kāi)發(fā)的Windows編程工具Visual Basic.NET語(yǔ)言的成熟和完善。為多媒體播放器的研究和開(kāi)發(fā)提供了先進(jìn)的思想和多樣的媒體控制手段,成為多媒體應(yīng)用程序開(kāi)發(fā)的理想工具。而此次設(shè)計(jì)不僅具有操作簡(jiǎn)便、界面友好等特性;而且在功能方面更貼近人們的生活習(xí)慣和操作習(xí)慣。此多媒體設(shè)計(jì)能識(shí)別多中格式的多媒體文件,其中包括WAV,MP3,MID,MOV,等多媒體文件;在播放列表中可以加載一個(gè)或者多個(gè)多媒體文件;自動(dòng)連續(xù)播放多個(gè)多媒體文件;用戶(hù)能隨意改變播放順序;在下次打開(kāi)播放器時(shí),從上次關(guān)閉處繼續(xù)播放文件;在使用播放器前將進(jìn)行身份認(rèn)證;在播放列表的多媒體文件播放完后可以選擇自動(dòng)關(guān)閉播放器或者循環(huán)播放。1.2 國(guó)內(nèi)外現(xiàn)狀在當(dāng)今信息社會(huì),以多媒體為特征的信息技術(shù)和信息產(chǎn)業(yè)的發(fā)展及應(yīng)用對(duì)人類(lèi)社會(huì)產(chǎn)生的影響和作用愈來(lái)愈明顯,愈來(lái)愈重要。多媒體能改變信息的包裝,實(shí)現(xiàn)知識(shí)信息數(shù)字化,為人們獲得知識(shí)信息提供極大的方便和無(wú)窮的樂(lè)趣。友善的人機(jī)界面、多種多樣的多媒體教學(xué)軟件、誘人的電子游藝節(jié)目、身臨其境的多媒體導(dǎo)購(gòu)系統(tǒng)、五花八門(mén)的信息家電和高效方便的網(wǎng)上查詢(xún)等等,無(wú)不滲透著多媒體的作用,它引導(dǎo)人們進(jìn)入了一個(gè)有聲有色的世界。同時(shí),多媒體的發(fā)展和應(yīng)用,極大地推動(dòng)了各行各業(yè)的相互滲透和飛速發(fā)展,大大改變了人類(lèi)社會(huì)的工作環(huán)境和生活方式。可毫不夸張地說(shuō),多媒體產(chǎn)業(yè)的形成和發(fā)展,不僅引起了計(jì)算機(jī)工業(yè)的一次革命,也正在深刻地影響人類(lèi)社會(huì)發(fā)生巨大的變革。多媒體技術(shù)的發(fā)展在很大程度上依靠于多媒體軟件開(kāi)發(fā)的水平。目前,不管是支撐多媒體系統(tǒng)的系統(tǒng)軟件,還是管理和開(kāi)發(fā)軟件,以及多媒體的應(yīng)用軟件都在能力和數(shù)量上還難以滿足多媒體飛速發(fā)展的需要。特別是多媒體應(yīng)用軟件的缺乏,一直是制約多媒體產(chǎn)業(yè)發(fā)展的瓶頸問(wèn)題,因此己成為多媒體研究和開(kāi)發(fā)的關(guān)鍵問(wèn)題。如何制作和設(shè)計(jì)出大量高質(zhì)量的多媒體應(yīng)用軟件是計(jì)算機(jī)從業(yè)人員所面臨的迫切課題,也是廣大人民群眾所關(guān)心的事情。1.3 項(xiàng)目意義結(jié)合Visual Basic.NET語(yǔ)言提供的先進(jìn)的思想和多樣的媒體控制手段,結(jié)合用戶(hù)使用媒體播放器的習(xí)慣和對(duì)媒體播放器的要求,設(shè)計(jì)了一款界面清楚明了,操作簡(jiǎn)單實(shí)效,可以實(shí)現(xiàn)在播放列表中可以加載一個(gè)或者多個(gè)多媒體文件;自動(dòng)連續(xù)播放多個(gè)多媒體文件;用戶(hù)能隨意改變播放順序;在下次打開(kāi)播放器時(shí),從上次關(guān)閉處繼續(xù)播放文件;在使用播放器前將身份認(rèn)證;在播放列表的多媒體文件播放完后可以選擇自動(dòng)關(guān)閉播放器或者循環(huán)播放等功能的媒體播放器。1.4 項(xiàng)目實(shí)現(xiàn)方法1)設(shè)計(jì)的編程語(yǔ)言是Visual Basic.NET,利用Visual Basic.NET多媒體控件中的Windows Media Player 控件來(lái)實(shí)現(xiàn)多媒體相應(yīng)功能。2)利用Visual Basic.NET強(qiáng)大的文件處理能力,實(shí)現(xiàn)身份認(rèn)證功能和記憶功能。2 開(kāi)發(fā)運(yùn)行平臺(tái)分析2.1 Microsoft Visual Studio .NET 2003Visual Studio .NET 2003 是一個(gè)全面的開(kāi)發(fā)工具,用于快速構(gòu)建面向 Microsoft Windows 和 Web 并連接 Microsoft .NET 的應(yīng)用程序,極大地提高了開(kāi)發(fā)人員的效率。為解決今天最具挑戰(zhàn)性的軟件開(kāi)發(fā)需要而構(gòu)建的 Visual Studio .NET 2003 增強(qiáng)并進(jìn)一步完善了其前代產(chǎn)品的功能,并與前代產(chǎn)品高度兼容。Visual Studio .NET 2003 包括來(lái)自 Modeler 的全套功能,可幫助構(gòu)建最復(fù)雜的企業(yè)級(jí)應(yīng)用程序和在最小的設(shè)備上部署應(yīng)用程序。Visual Studio .NET 2003 將移動(dòng)和嵌入式設(shè)備,如 Pocket PC 和其他采用 Microsoft Windows CE .NET 操作系統(tǒng)的設(shè)備,帶入 .NET。如今,開(kāi)發(fā)人員能夠使用同樣的編程模型、開(kāi)發(fā)工具及編程技能,來(lái)構(gòu)建應(yīng)用范圍廣泛從小設(shè)備到最大的數(shù)據(jù)中心的應(yīng)用程序。開(kāi)發(fā)人員可以使用 Visual Studio .NET 來(lái):1)構(gòu)建功能強(qiáng)大而且響應(yīng)能力極好的基于 Windows 的應(yīng)用程序。2)構(gòu)建功能強(qiáng)大而且響應(yīng)能力極好的 Pocket PC 應(yīng)用程序。3)構(gòu)建完善而安全的 Web 應(yīng)用程序。4)構(gòu)建對(duì)設(shè)備有智能感知能力的完善而安全的移動(dòng) Web 應(yīng)用程序。5)在以上任何一種應(yīng)用程序中使用 XML Web services。6)避免“DLL 災(zāi)難”。7)消除代價(jià)高昂的應(yīng)用程序部署和維護(hù)問(wèn)題。Visual Studio .NET 是唯一的從頭至尾都是基于通過(guò) XML Web service 進(jìn)行集成這一思想而構(gòu)建的環(huán)境。通過(guò)允許應(yīng)用程序通過(guò) Internet 共享數(shù)據(jù),XML Web services 使開(kāi)發(fā)人員能夠利用新的和現(xiàn)有的代碼構(gòu)建應(yīng)用程序,而不用考慮平臺(tái)、編程語(yǔ)言或?qū)ο竽P汀?.2 Visual Basic.NET技術(shù)Visual Basic.NET是運(yùn)行于Windows平臺(tái)上的交互式的可視化集成開(kāi)發(fā)環(huán)境,是美國(guó)Microsoft公司開(kāi)發(fā)的Microsoft Visual Studio.NET套件的一部分。Visual Basic.NET集程序的代碼編輯、編譯、連接和調(diào)試等功能于一體,提供了一個(gè)完整方便的開(kāi)發(fā)界面和許多有效的輔助開(kāi)發(fā)工具。Visual Basic.NET中帶有的Windows Media Player控件為開(kāi)發(fā)媒體播放器提供了很好的技術(shù)支持和實(shí)現(xiàn)的可能。而Windows Media Player ActiveX控件提供了一套功能強(qiáng)大的COM對(duì)象模型??丶С值拿襟w文件格式多樣,基本包括所有常用的媒體格式。Visual Basic.NET的文件處理功能強(qiáng)大,通過(guò)對(duì)文件的讀寫(xiě)以及其他操作,可以方便快捷的實(shí)現(xiàn)媒體播放器記憶播放功能和身份認(rèn)證功能。2.3 Windows Media Player控件Windows Media Player控件的功能相當(dāng)完善,而且有漂亮的視頻插件,在播放音頻文件時(shí),可以享受漂亮的視覺(jué)效果。1)控件的添加:打開(kāi)工具箱,在空白處點(diǎn)擊鼠標(biāo)右鍵,選擇右鍵菜單中的新建項(xiàng).,將彈出選擇工具箱項(xiàng)對(duì)話框,在此對(duì)話框中,從COM 組件選項(xiàng)卡中勾選Windows Media Player組件,確定返回。2)控件常用屬性介紹:WindowsMediaPlayer1.URL = 你要播放的某文件;這里指定你要播放的文件。WindowsMediaPlayer1.Controls.play;播放。WindowsMediaPlayer1.Controls.pause;暫停。WindowsMediaPlayer1.Controls.stop;停止。WindowsMediaPlayer1.fullScreen;全屏。3 系統(tǒng)總體分析3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)及分析本設(shè)計(jì)將采用Windows Media Player控件結(jié)合文件讀寫(xiě)等來(lái)全面實(shí)現(xiàn)多媒體文件的播放和操作。系統(tǒng)結(jié)構(gòu)圖如1所示:圖1 設(shè)計(jì)系統(tǒng)結(jié)構(gòu)圖3.2 系統(tǒng)功能設(shè)計(jì)設(shè)計(jì)的功能主要分四大子模塊:文件加載、播放、關(guān)閉、認(rèn)證。文件加載是由打開(kāi)和添加兩個(gè)子功能模塊組成。播放包括自定義播放順序、連續(xù)播放多個(gè)文件、記憶播放三個(gè)子功能模塊。自定義播放順序則是由上一首、下一首、暫停/播放、停止、播放列表等子功能模塊組成。關(guān)閉是由循環(huán)播放和播放一次就關(guān)閉兩個(gè)子功能模塊組成。身份認(rèn)證是由登陸和修改認(rèn)證兩個(gè)子功能模塊組成。系統(tǒng)功能概要圖如圖2所示:圖2 系統(tǒng)功能概要圖3.2.1 認(rèn)證認(rèn)證包括兩個(gè)子功能:1)認(rèn)證登錄:通過(guò)用戶(hù)名和密碼的認(rèn)證登陸,播放器才能被使用,功能主要是保護(hù)隱私,不能是所有人都能使用播放器,實(shí)現(xiàn)了權(quán)限的分級(jí),更具有安全性。2)修改認(rèn)證:輸入原來(lái)的用戶(hù)名和密碼,再輸入想修改成的用戶(hù)名和密碼,單擊確定。當(dāng)下次打開(kāi)播放器的時(shí)候,認(rèn)證將采用修改后的新用戶(hù)名和新密碼。3.2.2 文件加載文件加載包括兩個(gè)子功能:1)打開(kāi):加載一個(gè)或者多個(gè)文件到播放列表中,并自動(dòng)播放;加載新的文件進(jìn)入時(shí),覆蓋播放列表中原有的播放文件。2)添加:加載一個(gè)或者多個(gè)文件到播放列表中,不會(huì)覆蓋原有的播放列表,只是添加在原有列表的后面。3.2.3 播放播放包括了三個(gè)子功能:1)自定義播放順序:?jiǎn)螕粝乱皇装粹o,開(kāi)始播放下一個(gè)文件,單擊上一首按鈕,開(kāi)始播放上一個(gè)文件。單擊暫停按鈕,則播放器暫停播放,同時(shí)暫停按鈕變?yōu)殚_(kāi)始按鈕,單擊開(kāi)始按鈕,播放器從暫停處繼續(xù)播放,同時(shí)開(kāi)始按鈕恢復(fù)為暫停按鈕。單擊停止按鈕,播放器停止播放。雙擊播放列表中想要播放文件的文件名,直接播放。2)連續(xù)播放多個(gè)文件:用戶(hù)可以添加一個(gè)或者多個(gè)多媒體文件在播放列表中,若添加多個(gè)文件,則按順序連續(xù)循環(huán)播放。并在播放器的標(biāo)題欄顯示正在播放歌曲或者視頻的名字。3)記憶播放:退出播放器時(shí),程序自動(dòng)將用戶(hù)選擇的目錄保存到index文件夾中,以便下次打開(kāi)播放器時(shí),讀取index文件夾中保存的文件記錄,可以直接從上次退出時(shí)正在播放的那個(gè)文件開(kāi)始繼續(xù)播放,這樣就能實(shí)現(xiàn)每次啟動(dòng)播放器,首先播放的是上次退出時(shí)播放的那個(gè)文件。這樣做就使得播放器具有了記憶功能。3.2.4 關(guān)閉關(guān)閉包括兩個(gè)子功能:1)循環(huán)播放:在默認(rèn)情況下,播放器是處在循環(huán)播放狀態(tài)中,所謂循環(huán)播放就是當(dāng)播放完播放列表中的多媒體文件時(shí),又回到第一個(gè)文件開(kāi)始播放。2)自動(dòng)關(guān)閉:播放完播放列表中的所有文件后,如果選擇了自動(dòng)關(guān)閉功能,那么可執(zhí)行的播放器將自動(dòng)關(guān)閉。當(dāng)再次打開(kāi)播放器時(shí),播放器又從第一個(gè)文件開(kāi)始播放。4 系統(tǒng)實(shí)施方案4.1 媒體播放器界面設(shè)計(jì)此界面實(shí)現(xiàn)設(shè)計(jì)的大多功能,其中包括文件的加載,播放,以及關(guān)閉播放器等功能。媒體播放器播放界面如圖3所示:圖3媒體播放器界面4.2 身份認(rèn)證4.2.1 登錄初始化的用戶(hù)名和密碼可以通過(guò)身份認(rèn)證,只有通過(guò)身份認(rèn)證的用戶(hù)才能夠正常的使用播放器。登陸界面如圖4所示:圖4登陸界面打開(kāi)播放器就會(huì)自動(dòng)彈出一個(gè)登陸界面,如圖4所示,輸入初始用戶(hù)名和密碼進(jìn)入播放器界面,如圖3所示,才能正常使用播放器。在文件中輸入原始的用戶(hù)名和密碼,打開(kāi)播放器時(shí),在登陸界面中輸入原始用戶(hù)名和密碼后,輸入的將于文件中的原始用戶(hù)名和密碼進(jìn)行對(duì)比,如果是正確的,將啟動(dòng)播放器。如果錯(cuò)誤將彈出錯(cuò)誤提示框。其實(shí)現(xiàn)代碼為:1)用戶(hù)名和密碼保存函數(shù)If file.Exists(Application.StartupPath & pass.txt) Then Dim obj As New StreamReader(Application.StartupPath & pass.txt, True) strtest = obj.ReadLine() obj.Close() End If2)讀取保存信息:readIndex()form1.Show()form1.WindowsMediaPlayer1.Ctlcontrols.stop()form1.Enabled = False此時(shí)播放器是不可用的。3)輸入信息和保存信息的比較:Dim str1 As String str1 = TextBox1.Text + | + TextBox2.Text If str1 = strtest Then form1.Show() form1.Enabled = True form1.WindowsMediaPlayer1.Ctlcontrols.play() Me.Hide() Else MsgBox(用戶(hù)名或者密碼錯(cuò)誤) End If4.2.2 認(rèn)證修改當(dāng)一個(gè)用戶(hù)名和密碼用久了,它的保密性也就隨之下降了,認(rèn)證修改提供解決問(wèn)題的途徑,及時(shí)的修改用戶(hù)名和密碼可以保證播放器系統(tǒng)的安全性,能使播放器的專(zhuān)有性更強(qiáng)。認(rèn)證修改界面如圖5所示:圖5認(rèn)證修改界面單擊操作,選擇修改認(rèn)證,將會(huì)彈出修改認(rèn)證界面,如圖5所示,輸入舊用戶(hù)名和密碼,再輸入新用戶(hù)名和密碼,點(diǎn)擊修改,如果跟文件中原有的舊用戶(hù)名和密碼對(duì)比相同,那么修改成功,下次登陸將采用新的用戶(hù)名和密碼,如果舊用戶(hù)名和密碼與文件中原有用戶(hù)名和密碼不相同,那么修改失敗,彈出出錯(cuò)提示框。其實(shí)現(xiàn)代碼為:1)讀取用戶(hù)名和密碼:If file.Exists(Application.StartupPath & pass.txt) Then Dim obj As New StreamReader(Application.StartupPath & pass.txt, True) nameandpass = obj.ReadLine() obj.Close() End If2)寫(xiě)入用戶(hù)名和密碼:If file.Exists(Application.StartupPath & pass.txt) Then file.Delete(Application.StartupPath & pass.txt) End If Dim obj As New StreamWriter(Application.StartupPath & pass.txt, True) obj.Write(str) obj.Close()3)比較舊用戶(hù)名和密碼并用新用戶(hù)名和密碼代替:oldnameandpass = TextBox4.Text + | + TextBox3.Text If oldnameandpass = nameandpass Then Dim newNP As String newNP = TextBox1.Text + | + TextBox2.Text writepass(newNP) Me.Close() Else MsgBox(用戶(hù)名或者密碼錯(cuò)誤!) End If4.3 文件加載系統(tǒng)4.3.1 打開(kāi)打開(kāi)系統(tǒng)是向播放列表加載一個(gè)或者多個(gè)多媒體文件,通過(guò)打開(kāi)加載文件時(shí),將會(huì)覆蓋播放列表中已有的文件。并且將自動(dòng)播放。其實(shí)現(xiàn)代碼為:1)打開(kāi)文件:With Openfile .FileName = .Filter = 視頻文件(*.rm;*.rmvb;*.dat;*.avi;*.mp3;*.asf;*.mpg)|*.rm;*.rmvb;*.dat;*.avi;*.mp3;*.asf;*.mpg|音頻文件(*.mp3;*.wav;*.wma;*.mid)|*.mp3;*.wav;*.wma;mid|所有文件(*.*)|*.* .Multiselect = True If .ShowDialog() = DialogResult.Cancel Then Exit Sub End With2)清空播放列表:file = Openfile.FileNames.Length If file = 0 Then Exit Sub 播放列表.Items.Clear() filelist.Clear()3)加載新文件:filename = Openfile.FileNamesReDim strfile(file)For i = 0 To file - 1 For j = 0 To filename(i).LengthIf Microsoft.VisualBasic.Right(filename(i), j + 1).Chars(0) = Thenstrfile(i) = CType(Microsoft.VisualBasic.Right(filename(i), j), String) strfile(i) = CType(Microsoft.VisualBasic.Left(strfile(i), strfile(i).Length - 4), String) For i = 0 To file - 1 播放列表.Items.Add(i + 1 & . & strfile(i) filelist.Add(filename(i) 4)自動(dòng)播放:WindowsMediaPlayer1.URL = filename(0) 播放列表.SetSelected(0, True) cmbAdd() 5)操作流程:?jiǎn)螕魣D3上面的打開(kāi)按鈕,彈出文件加載對(duì)話框,如圖6所示:圖6打開(kāi)彈出對(duì)話框選擇要打開(kāi)的文件,單擊圖6的“打開(kāi)”按鈕,加載文件成功。加載成功后對(duì)比加載前后的播放列表發(fā)現(xiàn)打開(kāi)的文件代替了播放列表中原有的文件。如圖7,8所示:圖7“打開(kāi)”操作前播放列表圖圖8“打開(kāi)”操作后播放列表圖4.3.2 添加添加系統(tǒng)的功能是向播放列表添加多媒體文件,一次可以添加一個(gè)或者多個(gè)文件,不影響播放列表中的原有文件,僅僅是在其后增加文件。其實(shí)現(xiàn)代碼相比打開(kāi)僅僅是少了清空播放列表的代碼,在這里就不贅言了。操作流程:?jiǎn)螕魣D3上面的“添加”按鈕,彈出打開(kāi)對(duì)話框,如圖9所示,圖9添加彈出對(duì)話框選擇要添加的文件,單擊圖9上的“打開(kāi)”按鈕,添加成功。添加前后的播放列表對(duì)比,如圖10,11所示:圖10添加操作后播放列表圖圖11添加操作前播放列表圖4.3.3 清空清空系統(tǒng)的功能是清空播放列表中加載的文件,清空后播放完當(dāng)前正在播放的文件后就不會(huì)播放清空前加載的文件。其實(shí)現(xiàn)代碼為:filelist.Clear() 播放列表.Items.Clear() intcount = 0 ComboBox1.Text = writeIndex(0) IsChange = True 操作流程:?jiǎn)螕魣D3的“清空”按紐,清空播放列表里面的文件,播放列表在清空前后的對(duì)比圖如圖12,13所示:圖12清空前播放列表圖圖13清空后播放列表圖4.4 文件播放系統(tǒng)4.4.1 暫停/播放4.4.2 停止4.4.3 自定義播放順序4.4.4 連續(xù)播放多個(gè)文件的實(shí)現(xiàn)播放器開(kāi)始播放后將連續(xù)播放后面的其他文件,不需要用戶(hù)再去手動(dòng)才能繼續(xù)播放,使整個(gè)播放過(guò)程自動(dòng)化,連續(xù)化,從而使用戶(hù)全身心傾聽(tīng)或者觀看多媒體文件。其實(shí)現(xiàn)代碼為:strfilename = TextBox1.Text For i = 0 To 播放列表.Items.Count - 1 If 播放列表.Items.Item(i) = CStr(i + 1 & . & strfilename) Then 播放列表.SetSelected(i + 1, True) intcount = i + 1 WindowsMediaPlayer1.URL = filelist.Item(intcount) If Timer1.Enabled = False Then Timer1.Enabled = True End If Timer2.Enabled = True ComboBox1.Text = 第 & intcount & 首 Exit Sub End If Next If MessageBox.Show(經(jīng)查沒(méi)有這首歌曲,是否另選歌曲?, 信息, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) = DialogResult.Yes Then TextBox1.Focus() TextBox1.SelectAll() Else Exit Sub End If End If4.4.5 記憶播放當(dāng)播放器列表中的文件還沒(méi)有播放完畢就關(guān)閉播放器,但是下次再打開(kāi)播放器的時(shí)候想從上次關(guān)閉時(shí)的文件開(kāi)始播放,這就是所謂的記憶播放功能。首先通過(guò)創(chuàng)建一個(gè)文件,當(dāng)關(guān)閉的時(shí)候把關(guān)閉時(shí)候的播放列表信息寫(xiě)進(jìn)文件,再次打開(kāi)播放器便從文件中讀出播放列表中的信息,從而實(shí)現(xiàn)記憶播放功能。其實(shí)現(xiàn)代碼為:1)寫(xiě)入信息:If file.Exists(Application.StartupPath & index.txt) Then file.Delete(Application.StartupPath & index.txt) End If Dim obj As New StreamWriter(Application.StartupPath & index.txt, True) obj.Write(intCount) obj.Close()2)讀出信息:If file.Exists(Application.StartupPath & index.txt) Then Dim obj As New StreamReader(Application.StartupPath & index.txt, True) strtest = obj.ReadLine() intcount = 0 + strtest obj.Close() End If3)打開(kāi)播放器讀入播放列表信息:Dim reader As New XmlTextReader(filename)Try Do While (reader.Read()Select Case reader.NodeTypeCase XmlNodeType.Element If reader.Name = PathName Then reader.Read() filelist.Add(reader.Value) ElseIf reader.Name = FileName Then reader.Read() 播放列表.Items.Add(reader.Value) End If End Select Loop reader.Close() Catch ex As Exception Finally If Not reader Is Nothing Then reader.Close() End If End Try在實(shí)例再次打開(kāi)函數(shù)中引用函數(shù)readIndex(),當(dāng)播放器再次打開(kāi)時(shí),就會(huì)從文件中讀卻保存下來(lái)的信息,從而實(shí)現(xiàn)記憶播放的功能。4.5 關(guān)閉當(dāng)播放列表中的文件播放完畢后,用戶(hù)可以選擇循環(huán)播放,或者是關(guān)閉播放器。設(shè)一變量Dim plyCount As Boolean = True,在默認(rèn)情況下變量為真,并使播放器循環(huán)播放,如果變量為假,則使播放器播放完列表文件就關(guān)閉播放器。其實(shí)現(xiàn)代碼為:If intcount = ListBox1.Items.Count And plyCount = True Then intcount = 0 WindowsMediaPlayer1.URL = filelist.Item(intcount) ListBox1.SetSelected(intcount, True) /使其被選中 TextBox1.Text = FileWrite.GetFileName(filelist.Item(intcount) ComboBox1.Text = 第 & intcount + 1 & 首 Timer2.Enabled = TrueEnd If If intcount = ListBox1.Items.Count And plyCount = False Then intcount = 0 writeIndex(intcount) Application.Exit() End If操作流程:在默認(rèn)下播放器自動(dòng)循環(huán)播放,如果要選擇播放完一次就關(guān)閉播放列表則單擊圖3上面的“操作”菜單,選擇“播放”選擇“播放一次就關(guān)閉”。如圖14所示:圖14選擇關(guān)閉播放器圖4.6 全屏為了用戶(hù)能更好的享受多媒體帶來(lái)的視覺(jué)享受,項(xiàng)目增加了全屏功能,其實(shí)現(xiàn)代碼為:Try WindowsMediaPlayer1.fullScreen = True Catch ex As Exception MsgBox(ex.ToString) End Try全屏的實(shí)現(xiàn)是有條件的,當(dāng)播放器正在播放或者暫停文件時(shí)候,可以全屏,如果處在停止情況下是不能全屏的。 If WindowsMediaPlayer1.status = 已停止 Then Try If WindowsMediaPlayer1.fullScreen = True Then WindowsMediaPlayer1.fullScreen = False End If5 系統(tǒng)運(yùn)行及測(cè)試結(jié)果5.1 測(cè)試方案5.1.1 測(cè)試方法測(cè)試分為白盒測(cè)試和黑盒測(cè)試,白盒測(cè)試需全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試,是一種窮舉路徑測(cè)試;黑盒測(cè)試也叫功能測(cè)試,他只檢測(cè)能不能按照規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能否適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)產(chǎn)生正確的輸出。5.1.2 測(cè)試方案選擇由于項(xiàng)目各模塊之間的關(guān)系復(fù)雜,代碼量比較大,而且項(xiàng)目的功能獨(dú)立而有明顯,采用白盒測(cè)試工作量大,不易具體實(shí)現(xiàn)。鑒于上述原因選擇采用了黑盒測(cè)試方案,既可以縮短測(cè)試的時(shí)間,又可以將程序中的不足展現(xiàn)出來(lái)。5.2 測(cè)試結(jié)果表1測(cè)試結(jié)果表編號(hào)功能模塊被測(cè)功能測(cè)試步驟預(yù)期結(jié)果測(cè)試結(jié)果備注1登陸確認(rèn)登陸,激活播放器1)輸入正確的用戶(hù)名和密碼2)輸入錯(cuò)的用戶(hù)名和對(duì)的密碼3)輸入對(duì)的用戶(hù)名和錯(cuò)誤的密碼4)輸入錯(cuò)的用戶(hù)名和密碼在1)情況下登陸成功,可以正常使用播放器;在2),3),4)情況下登陸失敗,彈出出錯(cuò)對(duì)話框在1)情況下登陸成功,可以正常使用播放器;在2),3),4)情況下登陸失敗,彈出出錯(cuò)對(duì)話框通過(guò)2打開(kāi)加載一個(gè)或者多個(gè)文件1)加載一個(gè)多媒體文件2)加載多個(gè)多媒體文件成功加載一個(gè)或者多個(gè)多媒體文件,并覆蓋播放器列表中的原有多媒體文件成功加載一個(gè)或者多個(gè)多媒體文件,并覆蓋播放器列表中的原有多媒體文件通過(guò)2播放/暫停播放和暫停轉(zhuǎn)換1)播放狀態(tài)下點(diǎn)擊暫停按鈕2)暫停狀態(tài)下點(diǎn)擊播放按鈕成功在暫停和播放之間轉(zhuǎn)換成功在暫停和播放之間轉(zhuǎn)換通過(guò)3停止停止播放文件點(diǎn)擊停止按鈕播放停止,播放進(jìn)度條回到起點(diǎn)播放停止,播放進(jìn)度條回到起點(diǎn)通過(guò)4全屏全屏切換1)在播放或者暫停狀態(tài)下點(diǎn)擊全屏按鈕2)在停止?fàn)顟B(tài)下點(diǎn)擊全屏狀態(tài)3)全屏狀態(tài)下按鍵盤(pán)上的ESC鍵在1)情況下可以全屏,在2)情況下不能全屏,并出現(xiàn)出錯(cuò)提示框,在3)情況下回到初始大小狀態(tài)在1)情況下可以全屏,在2)情況下不能全屏,并出現(xiàn)出錯(cuò)提示框,在3)情況下回到初始大小狀態(tài)通過(guò)5下一首自定義播放順序1)在播放第一個(gè)文件的時(shí)候點(diǎn)擊下一首按鈕2)在播放最后一個(gè)文件的時(shí)候點(diǎn)擊下一首按鈕3)在上面兩種情況以外播放任意一個(gè)文件時(shí)候點(diǎn)擊下一首按鈕在1)情況下播放下一個(gè)文件;在2)情況下按鈕失去作用;在3)情況下播放下一個(gè)文件在1)情況下播放下一個(gè)文件;在2)情況下按鈕失去作用;在3)情況下播放下一個(gè)文件通過(guò)6上一首自定義播放順序1)在播放第一個(gè)文件的時(shí)候點(diǎn)擊上一首按鈕2)在播放最后一個(gè)文件的時(shí)候點(diǎn)擊上一首按鈕3)在上面兩種情況以外播放任意一個(gè)文件時(shí)候點(diǎn)擊上一首按鈕在1)情況下按鈕失去作用;在2)情況下播放上一個(gè)文件;在3)情況下播放上一個(gè)文件在1)情況下按鈕失去作用;在2)情況下播放上一個(gè)文件;在3)情況下播放上一個(gè)文件通過(guò)7添加加載一個(gè)或者多個(gè)文件1)添加一個(gè)多媒體文件2)添加多個(gè)多媒體文件在1)情況下在原有的播放器列表中成功添加一個(gè)多媒體文件在2)情況下在原有的播放器列表中成功添加多個(gè)多媒體文件在1)情況下在原有的播放器列表中成功添加一個(gè)多媒體文件在2)情況下在原有的播放器列表中成功添加多個(gè)多媒體文件通過(guò)8清空清空播放列表中的多媒體文件點(diǎn)擊清空按鈕播放列表中的所有多媒體文件都被成功刪除播放列表中的所有多媒體文件都被成功刪除通過(guò)9播放列表選擇隨意播放自定義播放順序1)雙擊播放列表中的第一個(gè)多媒體文件2)雙擊播放列表中的最后一個(gè)多媒體文件3)雙擊正在播放的多媒體文件4)雙擊前三中情況以外的任何一個(gè)多媒體文件在1)情況下播放第一個(gè)多媒體文件;在2)情況下播放最后一個(gè)多媒體文件;在3)情況下重新播放正在播放的多媒體文件;在4)情況下播放雙擊的多媒體文件在1)情況下播放第一個(gè)多媒體文件;在2)情況下播放最后一個(gè)多媒體文件;在3)情況下重新播放正在播放的多媒體文件;在4)情況下播放雙擊的多媒體文件通過(guò)10連續(xù)播放播放列表中的多媒體文件連續(xù)播放1)加載多個(gè)多媒體文件在播放列表中(至少3個(gè))2)點(diǎn)擊除最后一個(gè)文件外的任意一個(gè)多媒體文件3)等待播放完畢,觀察接下來(lái)的播放情況播放完選擇的多媒體文件后,繼續(xù)播放下面多個(gè)多媒體文件播放完選擇的多媒體文件后,繼續(xù)播放下面多個(gè)多媒體文件通過(guò)11循環(huán)播放循環(huán)播放播放列表中的多媒體文件1)默認(rèn)下,自動(dòng)由第一個(gè)多媒體文件開(kāi)始播放到最后一個(gè)多媒體文件,等待最后一個(gè)多

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論