畢業(yè)設(shè)計(jì)(論文)KTV點(diǎn)歌系統(tǒng)管理歌曲模塊_第1頁
畢業(yè)設(shè)計(jì)(論文)KTV點(diǎn)歌系統(tǒng)管理歌曲模塊_第2頁
畢業(yè)設(shè)計(jì)(論文)KTV點(diǎn)歌系統(tǒng)管理歌曲模塊_第3頁
畢業(yè)設(shè)計(jì)(論文)KTV點(diǎn)歌系統(tǒng)管理歌曲模塊_第4頁
畢業(yè)設(shè)計(jì)(論文)KTV點(diǎn)歌系統(tǒng)管理歌曲模塊_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、xxxxxxxxxxxxxxxxxxxxxxxxxx 學(xué)院學(xué)院 本科畢業(yè)設(shè)計(jì)(論文) 題 目 ktv 點(diǎn)歌系統(tǒng) 管理歌曲模塊 指導(dǎo)教師 xxxx 職稱 (講師) 學(xué)生姓名 xxxxxx 學(xué)號(hào) 20073512130 專業(yè) 計(jì)算機(jī)系 班級(jí) 信管專升本班 院 (系) 電子信息工程學(xué)院 完成時(shí)間 2009 年 4 月 26 日 ktv 點(diǎn)歌系統(tǒng)點(diǎn)歌系統(tǒng) 管理歌曲模塊 摘 要 如今, “mp3”格式的音頻文件已然成為了人們的酷愛,所以我借此畢業(yè)設(shè)計(jì)之機(jī), 制作出一款屬于自己的 mp3 播放系統(tǒng)。 此設(shè)計(jì)以 windows media player 為模板,參照其設(shè)計(jì)思想和公共的網(wǎng)格類控件, 在實(shí)際的開

2、發(fā)過程中力求使其具有較強(qiáng)的實(shí)用性和靈活性,具備了 windows media player 強(qiáng)大全面的功能,但它外觀簡(jiǎn)潔,操作簡(jiǎn)便,可滿足一般性的音樂需求。 關(guān)鍵字 實(shí)用性和靈活性,外觀簡(jiǎn)潔,操作簡(jiǎn)便。 abstract now,the “.mp3”is the favorite,so i want to design a player of mp3 in my guraduation design. this design take the windows media player as the template, according to it designs the thought, t

3、rying hard for to design a more simple player of mp3 .although this sort of mp3 player doesnt have the powerful function like windows media player ,it can contented the need of general music and it also has the advantage likes brief outward and easy operating . this topic discusses how to use the gr

4、id control of vb to develop pratical software and how to use it conveniently and simply。 keywords: practical and active,brief outward ,easy operating 目 錄 摘 要.i abstractabstract.ii 1 1、緒 論.1 2 2、分 析.2 2.1 項(xiàng)目制作意義 .2 2.2 項(xiàng)目制作目標(biāo) .2 2.3 項(xiàng)目制作工具 .2 2.4 相關(guān)知識(shí): .3 2.4.1 visual studio2005 .4 2.4.2 windows medi

5、a player .5 2.4.3 photoshop 7.0 .5 2.4.4 sql server .6 2.4.5 mp3 簡(jiǎn)介 .7 3、系統(tǒng)設(shè)計(jì).8 3.1 系統(tǒng)設(shè)計(jì)思路 .8 3.2 界面設(shè)計(jì) .8 3.3 功能詳解及程序代碼與數(shù)據(jù)庫(kù)結(jié)構(gòu) .8 3.3.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)與 e-r 圖 .8 3.3.2 程序定義 .10 3.3.3 程序詳解 .11 4、結(jié)果分析.23 4.1 效率分析 .23 4.2 可靠性分析 .23 4.3 置環(huán)境要求 .23 4.4 優(yōu)點(diǎn) .23 4.5 缺點(diǎn)和不足 .23 總 結(jié).24 致 謝.25 參考文獻(xiàn).26 1 緒 論 如今, “.mp3”格式的音頻

6、文件已然成為了人們的酷愛。它音質(zhì)較好,占用 空間小,非常適宜于 pc,自誕生之日起就一直倍受人們傾愛。 1987 年德國(guó)的研究機(jī)構(gòu) iis(institute integrierte schaltungen)開始著手一 項(xiàng)聲音編碼及數(shù)字音頻廣播的計(jì)劃,名稱叫做 eureka eul47,即 mp3 的前身。之后, 這項(xiàng)計(jì)劃由 iis 與 erlangen 大學(xué)共同合作,開發(fā)出一套非常強(qiáng)大的算法,經(jīng)由 150 國(guó)際標(biāo)準(zhǔn)組織認(rèn)證之后,符合 iso-mpeg audio layer-3 標(biāo)準(zhǔn),就成為現(xiàn)在的 mp3。 自從“.mp3”誕生以來,也衍生出了許多 mp3 播放軟件,如:real playe

7、r,media player 等等著名產(chǎn)品,它們外形美觀大方,操作簡(jiǎn)便,易使用,亦 受人們喜愛。于是我借此畢業(yè)設(shè)計(jì)之機(jī),借鑒 media player 的設(shè)計(jì)思想,取其大概, 亦想制作一款自己的 mp3 播放系統(tǒng)。 visual studio2005 是微軟公司出品的一個(gè)快速可視化程序開發(fā)工具軟件,借 助微軟在操作系統(tǒng)和辦公軟件的壟斷地位,vs.net 在短短的幾年內(nèi)風(fēng)靡全球。 vs.net 是極有和功能強(qiáng)大的軟件,主要表現(xiàn)在:所見即所得的界面設(shè)計(jì),基于 對(duì)象的設(shè)計(jì)方法,極短的軟件開發(fā)周期,較易維護(hù)的生成代碼。 vs.net 程序語言具有許多優(yōu)秀的特性,用其設(shè)計(jì)應(yīng)用程序時(shí)有兩個(gè)基本特點(diǎn): 可視

8、化設(shè)計(jì)和事件驅(qū)動(dòng)編程。 基于以上原因,我決定采用 visual studio2005 作為本軟件的開發(fā)平臺(tái)。 此設(shè)計(jì)秉承 media player 的設(shè)計(jì)思想,汲取其設(shè)計(jì)思路,外形簡(jiǎn)潔,操作更加 簡(jiǎn)便,工作環(huán)境要求低,且易存放,易保存。 在設(shè)計(jì)中,我始終注意保持 media player 的基本樣式,注意保持其基本格式, 目的在于給人以熟悉的感覺,使人們?cè)诓僮鲿r(shí)更容易。 由于對(duì) visual studio2005 是初學(xué),因此難免有疏漏,故此設(shè)計(jì)較為簡(jiǎn)單,請(qǐng) 各位老師諒解。 2 分析 2.1 項(xiàng)目制作意義 1987 年德國(guó)的研究機(jī)構(gòu) iis(institute integrierte scha

9、ltungen)開始著手一 項(xiàng)聲音編碼及數(shù)字音頻廣播的計(jì)劃,名稱叫做 eureka eul47,即 mp3 的前身。之后, 這項(xiàng)計(jì)劃由 iis 與 erlangen 大學(xué)共同合作,開發(fā)出一套非常強(qiáng)大的算法,經(jīng)由 150 國(guó)際標(biāo)準(zhǔn)組織認(rèn)證之后,符合 iso-mpeg audio layer-3 標(biāo)準(zhǔn),就成為現(xiàn)在的 mp3。 自從“.mp3”誕生以來,也衍生出了許多 mp3 播放軟件,如:real player,media player 等等著名產(chǎn)品,它們外形美觀大方,操作簡(jiǎn)便,易使用。 因此,設(shè)計(jì)簡(jiǎn)潔明朗的 mp3 播放軟件就成為許多軟件公司的工作重點(diǎn)。 其實(shí),我所制作的“ktv 點(diǎn)歌系統(tǒng)”,無

10、論從其技術(shù)含量還是從其市場(chǎng)要求度來 說,都不能滿足市場(chǎng)的要求,但是我更看重的是我在這次畢業(yè)設(shè)計(jì)所學(xué)到的知識(shí)。 在導(dǎo)師的教導(dǎo)下,學(xué)習(xí)了一門新的語言,學(xué)會(huì)了一項(xiàng)新知識(shí),這一些都是我以前不 曾接觸到的,為我以后的學(xué)習(xí)和發(fā)展提供了莫大幫助。 所以我更看重的是學(xué)習(xí)的本質(zhì)的東西:即是否學(xué)到知識(shí),嘗到什么知識(shí),對(duì)以后個(gè) 人的發(fā)展有無益處,有何益處,只有這樣,我認(rèn)為才能夠把握住學(xué)習(xí)的主動(dòng)權(quán),學(xué)到真 正的東西。 2.22.2 項(xiàng)目制作目標(biāo) 盡管 windows media player 功能強(qiáng)大,操作簡(jiǎn)單,適合普通用戶的簡(jiǎn)單需求,故 我們需要一種界面簡(jiǎn)潔,操作簡(jiǎn)單快捷的播放工具。 這一款”ktv 點(diǎn)歌系統(tǒng)” ,

11、它具有 windows media player 強(qiáng)大功能,其簡(jiǎn)潔的界 面,快捷的操作,非常容易上手,且運(yùn)行環(huán)境要求低,非常適合大多數(shù)用戶普通的音樂 需求。 2.32.3 項(xiàng)目制作工具 除了 visual studio2005 之外,當(dāng)前能夠編制 windows 應(yīng)用程序的可視化編程 工具還有很多,所針對(duì)的編程領(lǐng)域也各有側(cè)重,就微軟系列的可視化開發(fā)工具而言, 就有 vb,visualc+,visualj+,visual foxpro 等,其中 visual foxpro 是針對(duì) 數(shù)據(jù)庫(kù)編程的開發(fā)工具;visual c+是為專業(yè)程序設(shè)計(jì)員提供的開發(fā)工具,變量聲 明和定義嚴(yán)密,功能強(qiáng)大靈活,必須經(jīng)

12、過相當(dāng)?shù)呐Σ拍苷莆眨欢?vb 不支持虛類、 多態(tài)性和類的繼承,相對(duì)而言 vb 簡(jiǎn)單易學(xué),變量定義不太嚴(yán)密,于非專業(yè)程序員而 言功能足夠強(qiáng)大,visual c+一樣也支持網(wǎng)絡(luò)編程和數(shù)據(jù)庫(kù)編程。 傳統(tǒng)的應(yīng)用程序開發(fā)過程可以分為三個(gè)明顯的步驟:編碼、編譯和測(cè)試。但是 visual studio2005 與傳統(tǒng)的語言不同,它使用交互式方法開發(fā)應(yīng)用程序,使三個(gè)步 驟之間不再有明顯的界限。 在大多數(shù)語言里,如果編寫代碼時(shí)發(fā)生了錯(cuò)誤,則在開始編譯應(yīng)用程序時(shí)該錯(cuò)誤 就會(huì)被編譯器捕獲。此時(shí)必須查找并改正該錯(cuò)誤,然后再次進(jìn)行編譯,對(duì)每一個(gè)發(fā) 現(xiàn)的錯(cuò)誤都要重復(fù)這樣的過程。visual studio2005 在編程

13、者輸入代碼時(shí)便進(jìn)行解 釋,即時(shí)捕獲并突出顯示大多數(shù)語法或拼寫錯(cuò)誤??雌饋砭拖褚晃粚<以诒O(jiān)視代碼 的輸入。 除即時(shí)捕獲錯(cuò)誤以外,visual studio2005 也在輸入代碼時(shí)部分地編譯該代碼。 當(dāng)準(zhǔn)備運(yùn)行和測(cè)試應(yīng)用程序時(shí),只需極短時(shí)間即可完成編譯。如果編譯器發(fā)現(xiàn)了錯(cuò) 誤、則將錯(cuò)誤突出顯示于代碼中。 2.42.4 相關(guān)知識(shí): visual studio 2005(以前稱為“visual studio 代號(hào) whidbey” ) 。該版本的 visual studio 與 .net framework 共同提供對(duì)類庫(kù)、公共語言運(yùn)行庫(kù) (clr)、編 程語言和集成開發(fā)環(huán)境 (ide) 的革新和增強(qiáng)

14、。此外,該產(chǎn)品還使開發(fā)人員能夠編寫 存儲(chǔ)過程,從而提供對(duì) sql server 2005(以前稱為“sql server 代號(hào) yukon” ) 的深入支持。 visual studio 代號(hào)“orcas” 。該版本的 visual studio 和 .net framework 為代號(hào)為“l(fā)onghorn”的 windows 操作系統(tǒng)提供工具支持。 生成 microsoft 開發(fā)人員工具的目的始終圍繞著使開發(fā)人員能夠利用 windows 平臺(tái)中的最新進(jìn)展這一主題。microsoft 提供支持即將面世的 sql server 和 windows 操作系統(tǒng)版本的工具,從而繼續(xù)發(fā)揚(yáng)了這一傳統(tǒng)。 2

15、.4.1 visual studio2005 2000 年七月在美國(guó)奧蘭多舉行的專業(yè)開發(fā)者大會(huì)上,微軟公司展示了它最新的. net 體系,從多的發(fā)言人向大會(huì)介紹了.net 的特征和構(gòu)成。從此,軟件業(yè)界就開 始掀起了一股“.net”熱潮。通過.net, 微軟公司為人們提供了一種全新的開發(fā)平 臺(tái),這個(gè)平臺(tái)將推動(dòng)以新體系為基礎(chǔ)的協(xié)同 web 應(yīng)用開發(fā)。微軟公司推出 visual studio.net 的目的就是要推進(jìn)網(wǎng)絡(luò)應(yīng)用軟件的開發(fā),使用 visual studio.net 開發(fā) 系統(tǒng)可以編寫最簡(jiǎn)單的基于 windows 的單層應(yīng)用軟件,也可以編寫 windows 下的客 戶/服務(wù)器多層應(yīng)用軟,無

16、論是為了 windows 還是為 web , visual studio 都在各個(gè) 層面上作了大量的工作。 visual studio.net 與以往版本相比發(fā)生了巨大的變化,這種變化主要來自兩個(gè) 方面:一是語言本身的改進(jìn)和.net 平臺(tái)的建立。無論是在網(wǎng)絡(luò)應(yīng)用還是在本地應(yīng)用 上,都對(duì)各種語言做了許多改進(jìn),特別是用嶄新的 c#語言代替了 j+。c#具有簡(jiǎn)捷、 靈活、安全、面向?qū)ο蠛图嫒菪詮?qiáng)等許多優(yōu)點(diǎn),是.net 中的旗幟語言。二是開發(fā)環(huán) 境的重大改變。首先,在一個(gè)開發(fā)環(huán)境中同時(shí)集成了 visual basic、visual c+、visual c#和 foxpro。其次,開發(fā)環(huán)境的適應(yīng)性大大增

17、強(qiáng)了,適用于快速 web 應(yīng)用軟件的開發(fā),可以輕松地運(yùn)用 xml 和 web 服務(wù)進(jìn)行跨平臺(tái)計(jì)算,也可以快速開 發(fā)中間層商務(wù)組件。再次,調(diào)試功能增強(qiáng)了,它可以調(diào)試不同語言開發(fā)的應(yīng)用程序, 也可以調(diào)試工程,進(jìn)程和存儲(chǔ)過程。這些新特性使用戶的開發(fā)效率有了大幅度的提 高。 正如微軟公司首席執(zhí)行管鮑爾默所說:“microsoft.net 代表了一個(gè)集合、一個(gè) 環(huán)境、一個(gè)可以作為平臺(tái)支持下一代 internet 的可編程結(jié)構(gòu)。microsoft.net 的策略 是把因特網(wǎng)本身作為構(gòu)建新一代操作系統(tǒng)的基礎(chǔ),將因特網(wǎng)和操作系統(tǒng)的設(shè)計(jì)思想 合理延伸。 visual c#是微軟公司為它的 microsoft.n

18、et 計(jì)劃推出的核心編程語言。該語言 幾乎綜合了目前所有編程語言系統(tǒng)的優(yōu)點(diǎn),并結(jié)合因特網(wǎng)的需要,增加了豐富的新 特性和增強(qiáng)功能。 visual c#語言面向?qū)ο蟮脑O(shè)計(jì),可以用來構(gòu)建從高水平的商務(wù)目標(biāo)到體系標(biāo)準(zhǔn) 應(yīng)用程序的范圍寬廣的組件。使用 visual c#語言,程序員能夠迅速地建造提供充分 開拓計(jì)算和通信的工具和服務(wù)的新的 microsoft.net 平臺(tái)。c#語言的組成部分使用 簡(jiǎn)單的 c#語言結(jié)構(gòu)體,能被轉(zhuǎn)化成 web 服務(wù),允許人們通過 internet 調(diào)用在任何操 作系統(tǒng)上運(yùn)行的任何語言。 visual c#語言作為一種編程語言,具有以下幾個(gè)至關(guān)重要的特點(diǎn): 兼容性; 靈活性;

19、簡(jiǎn)單性; 面向?qū)ο螅?類開安全; 版本控制; visual c#具有 c,c+語言的靈活性和語言開發(fā)效率高的特點(diǎn),同時(shí)又是網(wǎng) 絡(luò)服務(wù)語言,體現(xiàn)了許多新的現(xiàn)代化開發(fā)技術(shù)。因此我們完成底層平臺(tái)的調(diào)用和底 層平代碼的控制,實(shí)現(xiàn)跨語言、跨平臺(tái)的因特網(wǎng)遠(yuǎn)程調(diào)用、可以構(gòu)建復(fù)雜的商務(wù)系 統(tǒng)。 2.4.2 windows media player 這是微軟公司基于 directshow 基礎(chǔ)之上開發(fā)的媒體播放軟件。它提供最廣泛, 最具可操作性,最方便的多媒體內(nèi)容。你可以播放更多的文件類型,包括:windows media (即以前稱為 netshow 的), asf, mpeg-1, mpeg-2, wav,

20、 avi, midi, vod, au, mp3, 和 quicktime 文件。 所有這些都用一個(gè)操作簡(jiǎn)單的應(yīng)用程序來完成。 favorites 菜單會(huì)讓你保存最 喜歡的網(wǎng)站,以后可以更快速,簡(jiǎn)便的重放。這個(gè)菜單甚至還能直接讓你連接到很 酷的網(wǎng)站。windows media player 能播放從低帶寬的聲音文件到全屏的圖象文件, 你還可重設(shè)圖象窗口,甚至設(shè)成全屏,以便更好的播放。 當(dāng)你選定了聲像地址后,windows media player 會(huì)查看是否安裝了所需的 codec 文件。如果沒安裝,它會(huì)自動(dòng)下載 codec,然后播放文件。網(wǎng)上的內(nèi)容(可 從不同的服務(wù)器或不同的媒體類型文件)在

21、播放時(shí)中間不需停頓,傳輸?shù)?windows media player 的內(nèi)容,會(huì)自動(dòng)調(diào)整至最佳播放狀態(tài)。 2.4.3 photoshop 7.0 photoshop 7.0 是 adobe 公司最新版的圖像編輯軟件,它功能強(qiáng)大并且操作簡(jiǎn) 便,被廣泛地應(yīng)用在圖像處理,繪畫,多媒體界面設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)等領(lǐng)域。要掌握 它的操作,必須對(duì)它有個(gè)整體的認(rèn)識(shí)。 2.4.4 sql server sql server 是由 microsoft 開發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms),它最 初是由 microsoft、sybase 和 ashton-tate 三家公司共同開發(fā)的,并于 1988 年推出 了第一

22、個(gè) os/2 版本。sql server 近年來不斷更新版本,1996 年,microsoft 推出 了 sql server 6.5 版本;1998 年,sql server 7.0 版本和用戶見面;sql server 2000 是 microsoft 公司于 2000 年推出的最新版本。 sql 是一門 ansi 的標(biāo)準(zhǔn)計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫(kù)系統(tǒng)。sql 語句用于 取回和更新數(shù)據(jù)庫(kù)中的數(shù)據(jù),sql 可與數(shù)據(jù)庫(kù)程序協(xié)同工作,比如 ms access、db2、informix、ms sql server、oracle、sybase 以及其他數(shù)據(jù)庫(kù)系統(tǒng)。 存在著很多不同版本的 sql

23、 語言,但是為了與 ansi 標(biāo)準(zhǔn)相兼容,它們必須以 相似的方式共同地來支持一些主要的關(guān)鍵詞(比如 select、update、delete、insert、where 等等) 。 sql server 特點(diǎn): 1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。 3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。 4sql server 與 windows nt 完全集成,利用了 nt 的許多功能,如發(fā)送和接受消 息,管理登錄安全性等。sql server 也可以很好地與 microsoft backoffice 產(chǎn)品 集成。 5具有很好的伸縮

24、性,可跨越從運(yùn)行 windows 95/98 的膝上型電腦到運(yùn)行 windows 2000 的大型多處理器等多種平臺(tái)使用。 6對(duì) web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到 web 頁面上。 7sql server 提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在 oracle 和其他更昂貴的 dbms 中 才有。 sql server 2000 與以前版本相比較,又具有以下新特性 : 1支持 xml(extensive markup language,擴(kuò)展標(biāo)記語言) ; 2強(qiáng)大的基于 web 的分析 ; 3支持 ole db 和多種查詢 ; 4支持分布式的分區(qū)視圖 。 2.4.5 mp3 簡(jiǎn)

25、介 mp3 的全名是 mpeg audio layer-3,簡(jiǎn)單的說就是一種聲音文件的壓縮格式。 1987 年德國(guó)的研究機(jī)構(gòu) iis(institute integrierte schaltungen)開始著手一項(xiàng)聲 音編碼及數(shù)字音頻廣播的計(jì)劃,名稱叫做 eureka eul47,即 mp3 的前身。之后,這 項(xiàng)計(jì)劃由 iis 與 erlangen 大學(xué)共同合作,開發(fā)出一套非常強(qiáng)大的算法,經(jīng)由 150 國(guó) 際標(biāo)準(zhǔn)組織認(rèn)證之后,符合 iso-mpeg audio layer-3 標(biāo)準(zhǔn),就成為現(xiàn)在的 mp3。 iso/mpeg 音頻壓縮標(biāo)準(zhǔn)里包括了三個(gè)使用高性能音頻數(shù)據(jù)壓縮方法的感知編碼 方案 (

26、perceptual coding schemes)。按照壓縮質(zhì)量(每 bit 的聲音效果)和編碼方 案的復(fù)雜程度分別是 layer 1、layer 2、layer 3。 所有這三層的編碼采用的基本 結(jié)構(gòu)是相同的。它們?cè)诓捎脗鹘y(tǒng)的頻譜分析和編碼技術(shù)的基礎(chǔ)上還應(yīng)用了子帶分析 和心理聲學(xué)模型理論。也就是通過研究人耳和大腦聽覺神經(jīng)對(duì)音頻失真的敏感度, 在編碼時(shí)先分析聲音文件的波形,利用濾波器找出噪音電平( noise level ),然后 濾去人耳不敏感的信號(hào),通過矩陣量化的方式將余下的數(shù)據(jù)每一位打散排列,最后 編碼形成 mpeg 的文件。而音質(zhì)聽起來與 cd 相差不大。 mp3 的好處在于大幅降低

27、數(shù)字聲音文件的容量,而不會(huì)破壞原來的音質(zhì)。以 cd 音質(zhì)的 wave 文件來說,如抽樣分辨率為 l6bit,抽樣頻率 44.1khz,聲音模式為立 體聲,那么存儲(chǔ) l 秒鐘 cd 音質(zhì)的 wave 文件,必須要用 l6 bit * 44100 hz * 2 stereo = 1411200 bit,也就是相當(dāng)于 1411.2kbit 的存儲(chǔ)容量,存儲(chǔ)介質(zhì)的負(fù)擔(dān)相 當(dāng)大。不過通過 mp3 格式壓縮后,文件便可壓縮為原來的 1/10 到 l/12,每 l 秒鐘 的 mp3 只需大約 112-128kbit 就可以了。 3系統(tǒng)設(shè)計(jì) 3.13.1 系統(tǒng)設(shè)計(jì)思路 1. 由 media player 控件

28、模板; 2. 用 photoshop 7.0 處理圖片; 3. 用 winform 添加代碼、控件; 4. 用 sql server 存儲(chǔ)數(shù)據(jù); 5. 完成設(shè)計(jì)。 3.23.2 界面設(shè)計(jì) 1由 photoshop 7.0 處理各界面需要的圖片; 2搭建歌曲播放頁選歌列表及排序功能; 3. 搭建歌曲播放頁的 media player 控件模版; 4. 搭建歌曲播放頁的刷新 移除歌曲、全部移除功能按鈕。 3.33.3 功能詳解及程序功能詳解及程序代碼代碼與數(shù)據(jù)庫(kù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)結(jié)構(gòu) 3.3.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)與 e-r 圖 1、music_select (歌曲選擇中間表)如表 1-1 所示 列名列名類型類

29、型大小大小備注備注 idint4主鍵、自增長(zhǎng) musicidvarchar50歌信息曲 id playvarchar50播放序號(hào) datetimedatetime8添加日期 表 1-1 2、music_property (歌曲信息存放表)表 1-2 所示 列名列名類型類型大小大小備注備注 idint4主鍵、自增長(zhǎng) concert_namevarchar50歌手姓名 chinese_namevarchar50歌曲名稱 english_namevarchar50歌曲拼音 music_typevarchar50歌曲類型 music_addressvarchar500歌曲存放路徑 lyrics_add

30、ressvarchar500歌詞存放路徑 remarksvarchar1000備注 datetimedatetime8添加時(shí)間 表 1-2 3、歌曲選擇中間表 e-r 圖 如圖 1-3 所示 表 1-3 4、伴奏信息存放表 e-r 圖 如圖 1-4 所示 表 1-4 3.3.2 程序定義 為便于下面分析程序的方便,故把主要函數(shù)名單獨(dú)列出 播放列表 del_no_click 移除單個(gè)歌曲播放列目 del_click 移除全部播放列目 select_click 刷新播放列表 msgrid_rowheadermousedoubleclick 選擇歌曲加入播放列表 msgridview_rowhead

31、ermousedoubleclick 選擇歌曲播放 3.3.3 程序詳解 程序設(shè)計(jì)流程圖 cbaserlue 主要類詳解 /獲取數(shù)據(jù)庫(kù)連接配置 public static string constring= configurationmanager.appsettingsmusic.tostring(); /傳入?yún)?shù)返回?cái)?shù)據(jù)集 public static dataset executedataset(string executesql, commandtype cmdtype, sqlparameter dbparameter, string returntablename, int star

32、tindex, int pagesize) /獲取配置連接 sqlconnection conn = new sqlconnection(constring); /執(zhí)行sql語句 sqldataadapter ad = new sqldataadapter(executesql, new sqlconnection(constring); ad.selectcommand.commandtype = cmdtype; if (dbparameter != null) /所循環(huán)傳入的參數(shù) foreach (sqlparameter ter in dbparameter) sqlparameter

33、 meter = new sqlparameter(); meter = new sqlparameter(ter.parametername, ter.sqldbtype); meter.value = ter.value; ad.selectcommand.parameters.add(meter); /構(gòu)建dataset結(jié)構(gòu) dataset st = new dataset(); if (startindex = 0 else /填充數(shù)據(jù) ad.fill(st, startindex, pagesize, returntablename); /返回dataset return st; /

34、添刪改操作 public static int execoutnonquery( string executesql, commandtype type, sqlparameter dbparameter) /獲取配置連接 sqlconnection con = new sqlconnection(constring); /執(zhí)行sql語句 sqlcommand cmd = new sqlcommand(executesql, con); cmd.commandtype = type; /打開數(shù)據(jù)庫(kù) con.open(); /設(shè)置數(shù)據(jù)庫(kù)回滾事務(wù) sqltransaction tion = con

35、.begintransaction(tion); cmd.transaction = tion; int retur = 0; /錯(cuò)誤處理 try if (dbparameter != null) /所循環(huán)傳入的參數(shù) foreach (sqlparameter ter in dbparameter) sqlparameter meter = new sqlparameter(); meter = new sqlparameter(ter.parametername, ter.sqldbtype); meter.value = ter.value; cmd.parameters.add(mete

36、r); /返回執(zhí)行語句受影響的條目數(shù) retur = cmd.executenonquery(); /提交sql事務(wù) tion.commit(); catch (exception ex) /回滾事務(wù) tion.rollback(); throw ex; finally /關(guān)閉conn連接 con.close(); /返回影響條目數(shù) return retur; /返回唯一的匹配值 public static int execoutscalar(string executesql, commandtype type, sqlparameter dbparameter) /獲取配置連接 sqlco

37、nnection con = new sqlconnection(constring); /執(zhí)行sql語句 sqlcommand cmd = new sqlcommand(executesql, con); cmd.commandtype = type; /打開數(shù)據(jù)連接 con.open(); int retur = 0; /錯(cuò)誤處理 try if (dbparameter != null) /所循環(huán)傳入的參數(shù) foreach (sqlparameter ter in dbparameter) sqlparameter meter = new sqlparameter(); meter = n

38、ew sqlparameter(ter.parametername, ter.sqldbtype); meter.value = ter.value; cmd.parameters.add(meter); /返回匹配記錄 retur = int.parse(cmd.executescalar().tostring(); catch (exception ex) throw ex; finally /關(guān)閉數(shù)據(jù)庫(kù)連接 con.close(); /返回匹配結(jié)果 return retur; 播放頁面 從歌曲列表向播放列表選取歌曲 程序詳解 鼠標(biāo)雙擊左側(cè)歌曲列表的黑色箭頭處,提示成功后歌曲將添加到右側(cè)播

39、放列表。 如果該歌曲已添加過系統(tǒng)將會(huì)彈出提示警告“該歌曲已添加過” private void msgrid_rowheadermousedoubleclick(object sender, datagridviewcellmouseeventargs e) /標(biāo)題事件 /獲取歌曲列表的行索引 int rows = msgrid.currentrow.index; /根據(jù)行索引獲取隱藏 id 列的數(shù)據(jù) string str = msgrid.rowsrows.cellsid.value.tostring(); /根據(jù)獲取的 id 值查詢?cè)摳枨欠裉砑舆^ if (cmusicplayrlue.ge

40、tconstmusicselect(str) != 0)/如果有 記錄返回值!=0 否則返回值=0 /給出提示框 messagebox.show(該歌曲您已添加過,請(qǐng)重新選擇!, 提 示信息); return;/返回 else /如果沒有添加過 /向播放數(shù)據(jù)表插入獲取的歌曲信息的 id if (cmusicplayrlue.getinmusicselect(str) != 0) /判斷 是否插入成功如果成功返回值!=0 失敗返回值=0 /給出提示框 messagebox.show(歌曲添加成功!, 提示信息); /刷新播放列表,為了及時(shí)得到數(shù)據(jù)庫(kù)最新數(shù)據(jù) msgridview.datasour

41、ce = cmusicplayrlue.getselectmusic().tablesselectmusic; else /如果=0 那就是失敗了 /給出提示框 messagebox.show(歌曲添加失敗,請(qǐng)重試!, 提示信 息); return; /返回 從播放列表中選取歌曲播放 程序詳解 鼠標(biāo)雙擊左側(cè)播放列表的黑色箭頭處,歌曲將自動(dòng)播放。 private void msgridview_rowheadermousedoubleclick(object sender, datagridviewcellmouseeventargs e) /標(biāo)題事件 /獲取播放列表行的索引 int rows

42、= msgridview.currentrow.index; /根據(jù)獲取的行索引去獲取隱藏 selectid 的值 string str = msgridview.rowsrows.cellsselectid.value.tostring(); /利用隱藏的 label1 控件去儲(chǔ)存 selectid 的值 label1.text = str; /創(chuàng)建 datatable 數(shù)據(jù)表 datatable table = new datatable(); /將從數(shù)據(jù)庫(kù)取的的數(shù)據(jù)賦給剛創(chuàng)建的 datatable table = cmusicplayrlue.getmusic(str).tablesse

43、t; datarow row = table.rows0;/取出數(shù)據(jù)項(xiàng) /傳送給播放器播放歌曲的路徑 axwindowsmediaplayer1.url = rowmusic_address.tostring(); /歌詞 if (rowlyrics_address.tostring() != ) lrcurl = rowlyrics_address.tostring(); timer1.enabled = true; 移除播放列表 程序詳解 單擊移除歌曲將按播放列表中選中的行去移除同時(shí)歌曲列表不受影響 單擊移除歌曲將按播放列表中歌曲全部移除,歌曲列表不受影響 單擊刷新列表時(shí)將刷新播放列表 p

44、rivate void del_no_click(object sender, eventargs e) /按鈕事件 /獲取播放列表的索引 int rows = msgridview.currentrow.index; /根據(jù)播放列表的索引取出隱藏控件selectid的值 string str = msgridview.rowsrows.cellsselectid.value.tostring(); /按取出的selectid值去刪除歌曲列表選中的行 if (cmusicplayrlue.getdelmusicselect(str) != 0)/判斷是否刪除 成功!=0 成功否則失敗 /給出提

45、示框 messagebox.show(歌曲刪除成功!, 提示信息); /刷新播放列表,為了及時(shí)得到數(shù)據(jù)庫(kù)最新數(shù)據(jù) msgridview.datasource = cmusicplayrlue.getselectmusic().tablesselectmusic; else /失敗 /給出提示框 messagebox.show(歌曲刪除失敗,請(qǐng)重試!, 提示信息); return; /返回 private void del_click(object sender, eventargs e) /按鈕事件 /刪除所有播放列表數(shù)據(jù) if (cmusicplayrlue.getdel() != 0)/判斷是否刪除成功!=0 成功否 則失敗 /給出提示框 messagebox.show(歌曲全部刪除成功!, 提示信息); /刷新播放列表,為了及時(shí)得到數(shù)據(jù)庫(kù)最新數(shù)據(jù) msgridview.datasource = cmusicplayrlue.getselectmusic().tablesselectmusic; else /刷新播放列表,為了及時(shí)得到數(shù)據(jù)庫(kù)最新數(shù)據(jù) messagebox

溫馨提示

  • 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. 人人文庫(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)論