媒體音樂播放器的設計與實現(xiàn)_第1頁
媒體音樂播放器的設計與實現(xiàn)_第2頁
媒體音樂播放器的設計與實現(xiàn)_第3頁
媒體音樂播放器的設計與實現(xiàn)_第4頁
媒體音樂播放器的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業(yè)設計(論文)媒體音樂播放器的設計與實現(xiàn)學生學號學生姓名學院名稱專業(yè)名稱指導教師年月日 摘要為了更好的豐富人們的業(yè)余文化生活,提高歌廳管理水平,為消費者提供更加舒適、便利的娛樂環(huán)境,筆者設計并實現(xiàn)了一個點歌管理系統(tǒng)。該系統(tǒng)以C#作為開發(fā)語言。該系統(tǒng)具有界面友好、操作方便、檢索迅速、存儲量大等特點。本文對系統(tǒng)的需求進行了分析,敘述了系統(tǒng)開發(fā)的目的和意義,闡述了系統(tǒng)的總體方案設計和數(shù)據庫設計,重點敘述了各個模塊的詳細設計方法與設計過程,并對系統(tǒng)實施的相關問題作了介紹。關鍵詞 點歌管理系統(tǒng);管理系統(tǒng);系統(tǒng)設計;AbstractIn order to better enrich the life o

2、f peoples leisure and cultural, improve the level of karaoke management, to provide consumers with more comfortable and convenient entertainment environment, the author designed and implemented a VOD management system. The system to C # as development language, using SQL Server for data management b

3、ackground, achieving a song play, query by song, query by singer, query by the number of songs name. The system has a friendly interface, easy operation, rapid retrieval, large memory capacity, ect. This paper analyzes the system requirements, describes the purpose and significance of system develop

4、ment, described the overall system design and database design, focusing on the various modules described in the detailed design methods and design process, and system implementation-related issues introduced.Keywords Song Request Management Management System System Design 目 錄1 緒論11.1 課題研究背景11.2 系統(tǒng)開發(fā)

5、的目的11.3 系統(tǒng)開發(fā)的意義11.4 系統(tǒng)開發(fā)的內容12 相關技術分析22.1 C# 2.0技術22.2 Microsoft SQL Server技術22.3 MCI簡介43 系統(tǒng)總體方案設計63.1 系統(tǒng)設計思想63.2 系統(tǒng)組成設計63.3 SQL Server 2005語言與數(shù)據庫的連接73.3.1 系統(tǒng)配置的實現(xiàn)73.3.2 數(shù)據庫交互的實現(xiàn)84 數(shù)據庫設計105 系統(tǒng)詳細設計125.1 點歌系統(tǒng)主界面設計125.1.1 界面設計125.1.2 代碼設計135.2 管理員設置設計185.2.1 界面設計195.2.2 代碼設計215.3 登錄設計245.3.1界面設計245.3.2

6、代碼設計255.4 查詢設計255.4.1 界面設計255.4.2 代碼設計295.5 小票打印設計295.5.1 界面設計295.5.2 代碼設計316 系統(tǒng)測試與使用方法346.1 系統(tǒng)測試方法346.1.1 測試目的346.1.2 測試方法346.1.3 測試內容346.2 軟件維護376.2.1 軟件維護的影響因素376.2.2 軟件的可維護性386.2.3 提高軟件可維護性的方法386.3 系統(tǒng)使用方法38結論40致謝41參考文獻42附錄43附錄1 英文文獻翻譯431. 英文432. 中文47附錄2 源代碼521 緒論1.1 課題研究背景隨著人民生活水平的不斷提高,去KTV點歌深受廣

7、大消費者的喜愛。點歌系統(tǒng)是為KTV場所開發(fā)的視頻歌曲點唱軟件。一個好的點歌管理軟件必須要擁有一個方便、快捷、準確的點歌功能。該點歌管理系統(tǒng)軟件具有界面友好、操作簡單等特點。開發(fā)的點歌系統(tǒng)具有以下功能:對點歌用戶,實現(xiàn)簡單的播放和選歌功能;另外,對于管理員用戶,能夠實現(xiàn)對歌庫的管理操作,包括對歌曲及歌手的增加、刪除;可以實現(xiàn)用戶的結賬付費功能。1.2 系統(tǒng)開發(fā)的目的點歌管理系統(tǒng)主要是用來提高公司的管理水平,給消費者更舒適的娛樂環(huán)境,它可以幫助消費者更方便的查找自己喜歡的歌曲,更及時地查看歌庫所有歌曲。一款優(yōu)秀的點歌管理系統(tǒng),可以使消費者的心情更愉快,使管理者的效率更高。1.3 系統(tǒng)開發(fā)的意義隨著

8、經濟的發(fā)展,社會的進步,計算機越來越深入到我們日常的工作學習及生活中,成為我們日常生活中不可缺少的輔助工具。 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。它已經深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經過特別的訓練就能夠使用電腦完成許許多多復雜的工作。1.4 系統(tǒng)開發(fā)的內容隨著經濟的發(fā)展,社會的進步,計算機越來越深入到我們日常的工作學習及生活中,成為我們日常生活中不可缺少的輔助工具。 隨著科學技術的不斷提高,計算機科學日漸成熟,其強

9、大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。它已經深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經過特別的訓練就能夠使用電腦完成許許多多復雜的工作。然而,雖然現(xiàn)在世界上已經充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識和經過特殊的培訓才能勝任?,F(xiàn)在我們使用C#也能夠開發(fā)出功能強大、適合自己特殊需求的應用程序了。點歌管理系統(tǒng)是一個管理系統(tǒng),它是以工作C#作為開發(fā)平

10、臺,以SQL Server 2005作為數(shù)據庫管理系統(tǒng),實現(xiàn)對后臺數(shù)據的存儲與管理。點歌管理系統(tǒng)主要用來實現(xiàn)歌曲播放、歌曲查詢、開戶點歌、管理員對歌曲的增加、刪除、對歌手的增加、刪除、打印小票等功能。2 相關技術分析2.1 C# 2.0技術C#語言是由兩位杰出的微軟工程師Anders Hejlsberg 和Scott Wiltamuth領導的小團隊開發(fā)的。當2000年7月微軟發(fā)布C#的時候,它的面世只是另一個影響大得多的事件:NET平臺發(fā)布的一部分。去掉偽裝,NET是運行在現(xiàn)有操作系統(tǒng)之上的一個面向對象的操作系統(tǒng)。C#語言的簡單讓人倍感輕松只有大約100個關鍵字和12種內置數(shù)據類型,但C#在實

11、現(xiàn)現(xiàn)代編程概念的表達能力上卻非常強大。C#作為站在C+和Java這樣的世俗戶上的現(xiàn)代評議自然涵蓋了結構化、基于組件 、面向對象編程的所有支持。任何面向對象評議的核心在于對類的定義和使用的支持。類定義了新的類型,可以擴展語言,更好地對要解決的問題建模。C#中有聲明新的類及其方法和屬性的關鍵字,還含有實現(xiàn)面向對象編程3大支柱封裝、繼承和多態(tài)的關鍵字。在C#中,與類的聲明有關的一切都可以聲明本身中找到。C#的類定義并不需要獨立的頭文件或IDL(Interface Definition Language,接口定義語言)文件。而且,C#支持新的XML風格的內嵌文檔,大大簡化了應用程序的在線和印刷品參考文

12、檔制作。C#還支持接口(Interface),一種與類就接口所指定的服務訂立協(xié)定(contract)的方式。在C#中,類只能從一個父類繼承,但可以實現(xiàn)多個接口。在實現(xiàn)接口時,C#類實現(xiàn)上也承諾了要提供接口規(guī)定的功能1。需要注意的是,C#支持如下特性:(1) 使用C+式的指針直接訪問內存(2) 將上述這種操作標記為不安全(unsafe)的關鍵字(3) 警告CLR垃圾回收器在指針所引用的對象釋放前不要對其進行回收2.2 Microsoft SQL Server技術SQL Server 2005 通過在可伸縮性、數(shù)據集成、開發(fā)工具和強大的分析等方面的革新更好的確立了微軟在BI領域的領導地位。SQL

13、Server 2005 能夠把關鍵的信息及時的傳遞到組織內員工的手中,從而實現(xiàn)了可伸縮的商業(yè)智能。從CEO 到信息工作者,員工可以快速的、容易的處理數(shù)據,以更快更好的做出決策2。SQL Server 2005全面的集成、分析和報表功能使企業(yè)能夠提高他們已有應用的價值,即便這些應用是在不同的平臺上。SQL Server 2005有幾個主要特性,重點關注企業(yè)數(shù)據管理、開發(fā)人員生產力和商務智能3。(1) 高可用性SQL Server 2005的失敗轉移集群和數(shù)據庫鏡像技術確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應用系統(tǒng)。(2) 管理工具SQL Server 2005引進了一套集成的管理工具

14、和管理應用編程接口(APIS),以提供易用性、可管理性、及對大型SQL Server配置的支持。(3) 安全性增強SQL Server 2005旨在通過數(shù)據庫加密、更加安全的默認設置、加強的密碼政策和細化許可控制、及加強的安全模型等特性,為企業(yè)數(shù)據提供最高級別的安全性。(4) 可伸縮性SQL Server 2005可伸縮性的先進性包括表格分區(qū)、復制能力的增強和64位。(5) Common Language Run time(CLR)集成SQL Server 2005引入了使用MicrosoftNET語言來開發(fā)數(shù)據庫目標的性能。(6) 深入的XML集成SQL Server 2005提供一種新的X

15、ML數(shù)據類型,使在SQL Server數(shù)據中存儲XML片段或文件成為可能4。數(shù)據庫管理有10個最重要的特點(1) 分析服務SQL SERVER 2005的分析服務邁入了實時分析的領域。從對可升級性性能的增強、到與微軟Office軟件的深度融合,SQL SERVER 2005將幫助您,將商業(yè)智能擴展到您業(yè)務的每一個層次。(2) 數(shù)據傳輸服務(DTS)DTS數(shù)據傳輸服務是一套繪圖工具和可編程的對象,可以用這些工具和對象,對從截然不同來源而來的數(shù)據進行摘錄、傳輸和加載(ETL),同時將其轉送到單獨或多個目的地5。SQL SERVER 2005將引進一個完整的、數(shù)據傳輸服務、重新設計方案,這一方案為用

16、戶提供了一個全面的摘錄、傳輸和加載平臺。(3) 數(shù)據挖掘我們將引進四個新的數(shù)據挖掘運算法,改進的工具和精靈,它們會使數(shù)據挖掘,對于任何規(guī)模的企業(yè)來說,都變得簡單起來。(4) 報表服務在SQL SERVER 2005中,報表服務將為在線分析處理(OLAP)環(huán)境提供自我服務、創(chuàng)建最終用戶特別報告、增強查詢方面的開發(fā)水平,并為豐富和便于維護企業(yè)匯報環(huán)境,就允許升級方面,提供增進的性能6。(5) 集群支持通過支持容錯技術移轉叢集、增強對多重執(zhí)行個體的支持、以及支持備份和恢復分析服務對象和數(shù)據,分析服務改進了其可用性。(6) 主要運行指標主要運行指標(KPIS)為企業(yè)提供了新的功能,使其可以定義圖表化的

17、、可定制化的商業(yè)衡量標準,以幫助公司制定和跟蹤主要的業(yè)務基準。(7) 可伸縮性和性能并行分割處理,創(chuàng)建遠程關系在線分析處理(ROLAP)或混合在線分析處理(HOLAP)分割,分布式分割單元,持續(xù)計算,和預制緩存等特性,極大地提升了SQL Server 2005中分析服務的可伸縮性和性能。(8) 單擊單元當在一個數(shù)據倉庫中創(chuàng)建一個單元時,單元向導將包括一個可以單擊單元檢測和建議的操作。(9) 預制緩存預制緩存將MOOLAP等級查詢運行與實時數(shù)據分析合并到一起,排除了維護在線分析處理存儲的需要。顯而易見,預制緩存將數(shù)據的一個更新備份進行同步操作,并對其進行維護,而這些數(shù)據是專門為調整查詢而組織的、

18、它們將最終用戶從超載的相關數(shù)據庫分離了出來。(10) 與Microsoft Office System集成在報表服務中,由報表服務器提供的報表能夠在Microsoft SharePoint門戶服務器和Microsoft Office System應用軟件的環(huán)境中運行,Office System應用軟件其中包括Microsoft Word和Microsoft Excel7。您可以使用SharePoint功能,訂閱報表、建立新版本的報表,以及分發(fā)報表。還能夠在Word或Excel軟件中打開報表,觀看超文本連接標示語言(HTML)版本的報表。2.3 MCI簡介 MCI(Multimedia Cont

19、rol Interface)是Windows系統(tǒng)定義的多媒體接口標準,MCI接口包括了CDAudio(激光唱機)、Scanner(圖像掃描儀)、VCR(磁帶錄像機)、Videodisc(激光視盤機)、DAT(數(shù)字化磁帶音頻播放機)、Digital Video(窗口中的數(shù)字視頻)、Overlay(窗口中的模擬視頻疊加設備)、MMMovie(多媒體影片演播器)、Sequencer(MID音序設備)、WaveAudio(波形音頻設備)和Other(未定義的MCI設備)等多媒體的主要產品。MCI的最大優(yōu)點是應用系統(tǒng)與設備的無關性,對于標準多媒體設備,安裝相應的Windows的MCI Driver,Wi

20、ndows即可對該設備進行操作訪問;對于非標準的多媒體設備,只要有廠家提供的MCI Driver也一樣可以操作。由于MCI的設備無關性,程序員在多媒體應用系統(tǒng)的開發(fā)中,無需了解每種產品細節(jié),就能開發(fā)出通用的多媒體應用系統(tǒng)。那么在C#.NET中如何使用MCI呢?它是通過C#.NET控件提供的功能來實現(xiàn)的。MCI控件是C#.NET提供的一個技件,可以使用它來管理媒體控制接口(MCI)設備,編寫多媒體應用程序。MCI是ActiveX控件,一般情況下,該控件不出現(xiàn)在工具箱里,可以按照如下步驟將它加入到工具箱中:在工具箱中單擊鼠標右鍵,在彈出的快捷菜單中選擇選擇項命令,彈出選擇工具箱項對話框,在COM組

21、件選項卡中選中Microsoft Multimedia Control前的復選框,單擊確定按鈕即可將控件加入到工具箱中。當將MCI控件加入到工具箱中后,可以將該控件拖曳到窗體上。該控件由一組執(zhí)行MCI命令的按鈕組成,與通常使用的錄放機上的按鈕類似。例如,單擊播放按鈕的事件是AxMMContyrol1_PlayClick。MCI控件在設計或運行時可以是可見的或隱藏的,其按鈕功能也可以通過鼠標Click事件重新定義。Windows API的多媒體和資源文件的高層控制MCI進行封裝,使讀者不必研究MCI的內部函數(shù),輕松調用API類的函數(shù),就能實現(xiàn)播放視頻文件。Windows已經提供了一個關于多媒體處

22、理的動態(tài)鏈接庫WINMM.DLL,并通過調用它所提供的API函數(shù),就可以使用MCI指令進行多媒體方面的操作了。當需要使用MCI按鈕功能時,必須將該按鈕的屬性(Visible和Enabled)設為True;若不需要該按鈕時,必須設置Visible屬性為False;若使該按鈕功能當前無效時,設置Enabled屬性為False。在Windows 2000或XP中,對各種多媒體設備提供了強有力的支持。MCI的全稱是Media Control Interface(多媒體控制接口),為各種多媒體設備,用MCI函數(shù)可以給上述的任何一種設備發(fā)出命令,告訴他們開始,結束,暫停,倒退,快進等,就像按動播放器面版上

23、的按鈕一樣。每一個設備的特殊命令依賴于設備本身的功能,例如可以讓波形音頻設備錄音等。實際上MCI是一個高級的函數(shù)調用接口,可以把它看作一個解釋器,通過它,就可以直接和外部音頻或視頻設備打交道了。3 系統(tǒng)總體方案設計3.1 系統(tǒng)設計思想點歌管理系統(tǒng)主要是用來管理數(shù)據庫內的歌曲,并讓消費者在可視界面下運行軟件。所以,該系統(tǒng)需要實現(xiàn)以下功能。(1) 管理員能實現(xiàn)歌曲的添加、刪除;歌手的添加、刪除、歌手信息的修改。(2) 管理員設置房間的價格、會員卡的折扣等。(3) 消費者能實現(xiàn)根據歌手地區(qū)、性別、歌手的拼音、歌曲名字數(shù)、歌曲類別查詢。(4) 消費者可以查看或編輯播放列表,也可以清空播放列表。 其結構

24、如圖3-1所示。點歌管理系統(tǒng)管理員增加歌曲刪除歌曲增加歌手刪除歌手設置打折率消費者按歌名查詢按歌手查詢按歌曲數(shù)查詢按歌手拼音查詢編輯播放列表按歌曲類型查詢設置包間價格打印小票圖3-1功能結構圖使用點歌管理系統(tǒng)是為了提高管理效率及方便消費者,所以該系統(tǒng)應提供方便快捷的可視化界面,幫助用戶高效率的完成想要的操作??紤]這些因素,點歌管理系統(tǒng)應達到以下目標:(1) 提供多條件查詢功能,方便用戶查詢歌庫內的歌曲、歌手情況的各種數(shù)據。(2) 提供多條件查詢功能,方便用戶查詢指定歌曲、歌手的信息。(3) 提供快捷的播放功能,及時更新數(shù)據庫內的數(shù)據。(4) 提供人性化的界面,能夠為用戶提供快速的查詢。根據以上

25、分析,一個標準的點歌管理系統(tǒng)應該包括增加歌曲、刪除歌曲、增加歌手、刪除歌手、歌曲查詢、歌手查詢、拼音查詢、歌曲數(shù)查詢、單曲循環(huán)、全部循環(huán)等功能。 3.2 系統(tǒng)組成設計根據系統(tǒng)分析本系統(tǒng)主要共有5個查詢界面,主界面,打印結賬界面,登錄界面。(1) 歌手查詢歌手查詢模塊主要是用戶根據歌手的名稱來查詢歌庫內歌曲。查詢時,用戶可在文本框內輸入想要查找的歌手,在該界面中的列表控件內會列出此時數(shù)據庫內的所有相關歌曲,雙擊選擇歌曲并添加到播放列表中。(2) 歌名查詢歌名查詢模塊主要是用戶根據歌曲的名稱來查詢歌庫內歌曲。查詢時,用戶可在文本框內輸入想要查找的歌曲名稱,在該界面中的列表控件內會列出此時數(shù)據庫內的

26、所有相關歌曲,雙擊選擇歌曲并添加到播放列表中。(3) 歌曲名字數(shù)查詢歌曲名字數(shù)查詢模塊主要是用戶根據歌名數(shù)字查詢歌庫內歌曲。查詢時,用戶可在文本框內輸入想要查找的數(shù)字,在列表框內系統(tǒng)會列出此時數(shù)據庫內所有相關歌曲,雙擊選擇歌曲并添加到播放列表中。(4) 歌手拼音查詢歌手拼音查詢模塊主要是用戶根據歌手的名稱來查詢歌庫內歌曲。查詢時,用戶可在文本框內輸入拼音,獲取數(shù)據庫內相關歌曲信息,雙擊選擇歌曲并添加到播放列表中。(5) 歌曲類型查詢該模塊主要是通過下拉列表框選擇數(shù)據庫內的歌曲,用戶點擊下拉箭頭時,系統(tǒng)會自動綁定此時數(shù)據內己有的歌曲類型,用戶只要選擇,就會在列表框內查找出此時歌庫內相關歌曲,雙擊

27、選擇歌曲并添加到播放列表中。(6) 主界面該窗體用于管理員登錄與普通用戶點歌。管理員登錄時,需點擊界面上方的登錄按鈕,正確操作后才可進入管理員界面。普通用戶可以直接在該界面進行點歌操作。(7) 登錄界面該窗體主要用于區(qū)別用戶類型,方便管理員操作數(shù)據庫數(shù)據。(8) 打印界面該窗體主要用于用戶結賬,選擇房間號,系統(tǒng)自動綁定相關信息,直接結賬或打印預覽。3.3 SQL Server 2005語言與數(shù)據庫的連接3.3.1 系統(tǒng)配置的實現(xiàn)系統(tǒng)設有配置文件DataOperate.ini,數(shù)據庫文件內放置著系統(tǒng)連接時登錄名、密碼、數(shù)據庫名及可執(zhí)行文件名,從數(shù)據庫登陸的配置文件中讀取值并賦給全局變量。讀取數(shù)據

28、庫文件代碼如下:public static bool readDBInfo() try String strIniPath = System.Windows.Forms.Application.StartupPath + DataOperate.ini; if (File.Exists(strIniPath) ClsOperateIni myIniFile = new ClsOperateIni(strIniPath); ClsOverallVar.SetPattern(int.Parse(myIniFile.IniReadValue(DATA, Pattern); ClsOverallVar

29、.SetServerName(myIniFile.IniReadValue(DATA, Server); ClsOverallVar.SetServerId(myIniFile.IniReadValue(DATA, Id); ClsOverallVar.SetServerPwd(myIniFile.IniReadValue(DATA, Pwd); ClsOverallVar.SetDBName(myIniFile.IniReadValue(DATA, DBName); return true; else return false; catch return false; 3.3.2 數(shù)據庫交互

30、的實現(xiàn) C#連接數(shù)據庫實現(xiàn): public static SqlConnection GetConnection() String strSource; if (ClsOverallVar.GetPattern() = 0) strSource = Server=.SQLEXPRESS;integrated security=SSPI;Initial Catalog= + ClsOverallVar.GetDBName() + ; else strSource = database= + ClsOverallVar.GetDBName() + ;Server= + ClsOverallVar.

31、GetServerName() + ;uid= + ClsOverallVar.GetServerId() + ; pwd= + ClsOverallVar.GetServerPwd() + ; SqlConnection myConn = new SqlConnection(strSource); myConn.Open(); myConn.Close(); return myConn; C#連接SQLServer數(shù)據庫需要導入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的! usingSystem.Data; usingSystem.Data.SqlClient;str

32、Source這個變量里存放的是連接數(shù)據庫所需要的連接字符串,他指定了要使用的數(shù)據提供者和要使用的數(shù)據源。GetServerName()、 GetServerId()、GetServerPwd()都是直接從ini文件中讀取的,這里的GetPattern()值有兩個,”0”和”1”,其中0表示本地登錄,1表示遠程登錄。使用本地登錄還是遠程登錄只需在系統(tǒng)可執(zhí)行文件夾下找到DataOperate.ini配置文件,修改里面的相關文件即可實現(xiàn)相應的數(shù)據庫的連接。部分代碼如下: ClsDataContact.readDBInfo(); 若為本地連接,則此處的“initial catalog=”+clsove

33、rallvar.getdbname()+”:使用的數(shù)據源則為“Music”這個數(shù)據庫。在這里,建立連接對象用的構造函數(shù)為:SqlConnection。由于系統(tǒng)頻繁的調用數(shù)據庫,而對數(shù)據的操作分為查找數(shù)據和更新數(shù)據操作兩種,更新數(shù)據時不需要返回值,所以系統(tǒng)利用DBOperation類封裝了對數(shù)據庫操作的方法,以提供統(tǒng)一的數(shù)據庫操作接口8。利用DBOperation類GetDataTableBySql方法可以進行查找數(shù)據函數(shù)返回一個DataTable表,DoSqlString方法可以執(zhí)行一個SQL語句,進行插入、刪除、修改操作。4 數(shù)據庫設計 本系統(tǒng)數(shù)據庫包括管理員表、歌曲信息表、歌手信息表、包間

34、類型表、折率表、開戶點歌表及用戶播放列表。(1) 管理員表(admin)管理員表主要包括管理員名稱及密碼。表結構如表4-1所示。表4-1 管理員表字段名稱含義數(shù)據類型可否為空Admin用戶名稱Varchar(50)NOadminpwd起始日期varchar(50)NO(2) 歌曲信息表(musiclist)歌曲信息表主要包括歌曲名稱、歌曲內碼、歌手名、歌曲名字數(shù)、歌曲類別、歌曲類型、歌曲存儲路徑。表結構如表4-2所示。表4-2 歌曲信息表字段名稱含義數(shù)據類型可否為空Gsname歌手名稱varchar(50)NOGqname歌曲名稱varchar(50)NOGqnum歌曲數(shù)varchar(50)

35、NOGqtype歌曲類別varchar(50)NOFormat歌曲類型varchar(50)NOPath歌曲路徑varchar(200)NOGqlogo歌曲內碼intNO(3) 歌手信息表(singer)歌手信息表主要是存放歌手個人信息,便于用戶采用不同類型的查詢。表結構如表4-3所示。表4-3 歌手信息表字段名稱含義數(shù)據類型可否為空Sinnam歌手名稱varchar(50)NOSinsex歌手性別varchar(50)NOSpinyin歌手拼音varchar(50)NOSinarea歌手地區(qū)varchar(50)NOSlogo歌曲內碼IntNO(4) 包間類型表(room)包間類型表主要是存

36、放包間價格、時間、包間類型,包間類碼。表結構如表4-4所示。表4-4 包間類型表字段名稱含義數(shù)據類型可否為空roomtype包間類型varchar(50)YESPrice包間價格varchar(50)YESTime時間varchar(50)YESroomlogo包間類碼varchar(50)NO(5) 折率表(abate)打折率表主要是存放管理員設置的會員率、會員類型、會員類碼。表結構如表4-5所示。表4-5折率表字段名稱含義數(shù)據類型可否為空cardtype會員級別varchar(50)YESAbate打折率varchar(50)YESViplogo會員內碼varchar(50)NO(6) 開

37、戶點歌表(money)開戶點歌表主要用于存放用戶消費時選擇的包間類型、用戶的會員等級、充值、開戶時間及房間號。表結構如表4-6所示。表4-6開戶點歌表字段名稱含義數(shù)據類型可否為空roomnum房間號nvarchar(50)YESroomtype包間類型nvarchar(50)YEScardtype會員等級nvarchar(50)YESMoney充值金額FloatYESuserlogo用戶內碼IntNOUncost消費金額nvarchar(50)YESbegintime開始時間DatetimeYES(7) 用戶播放列表(likemusic)用戶播放列表主要方便用戶存放自己喜歡的歌曲,其中包括歌曲

38、名、歌手名、歌曲類型、歌曲名稱數(shù)及歌曲路徑。表結構如表4-7所示。表4-7用戶播放列表字段名稱含義數(shù)據類型可否為空gsname歌手名稱varchar(50)NOgqname歌曲名稱varchar(50)NOGqnum歌曲數(shù)varchar(50)NOGqtype歌曲類別varchar(50)NOPath歌曲路徑varchar(200)NOGqlogo歌曲內碼IntNO(8) 歌曲類型表(type)表4-8歌曲類型表字段名稱含義數(shù)據類型可否為空Lxlogo類型內碼Int NOLxname類型名稱nvarchar(50)YES5 系統(tǒng)詳細設計5.1 點歌系統(tǒng)主界面設計5.1.1 界面設計點歌系統(tǒng)主窗

39、體是用來播放數(shù)據庫內歌曲。主要可以實現(xiàn)用戶對列表框內的歌曲進行下一首、上一首、增加音量、減小音量、快進、快退、全屏功能。管理員登錄時的數(shù)據庫操作及開戶點歌功能??梢圆シ诺囊魳犯袷接衜p3,wmv,wma格式,雙擊列表框內的歌曲進行歌曲的播放。根據點歌系統(tǒng)主界面所要實現(xiàn)的功能,需要在界面上添加如下控件:windows media player,skinEngine,timer,toolstrip,button(按鈕)控件。上一首按鈕,就是為了實現(xiàn)上一首歌曲的播放;下一首按鈕為了實現(xiàn)下一首歌曲的播放;增加音量按鈕,就是為實現(xiàn)音量的增加;減小音量按鈕,就是為了實現(xiàn)音量的增加,快進按鈕是為了實現(xiàn)快進播

40、放功能;快退按鈕是為了實現(xiàn)快退功能;skinEngine是為了使界面運行時更美觀。toolstrip控件是為了區(qū)別普通用戶與管理員的登錄。全屏按鈕,就是為了實現(xiàn)屏幕的全屏播放,按歌曲查詢按鈕用來實現(xiàn)用戶能夠根據歌曲名稱查詢歌庫內的歌曲,并雙擊選擇歌曲添加到用戶播放列表。其它控件可類似。各主要控件的屬性如表5-1所示。表5-1點歌系統(tǒng)主窗體主要控件屬性控件屬性屬性值點歌系統(tǒng)(Form1)NameForm1Text點歌系統(tǒng)Windows media playerNamemyplayerURLnullButton1Text上一首Button2Text下一首Button3Text增加音量Button4

41、Text減小音量Button5Text快進Button6Text快退 0) myplayer.currentMedia=myplayer .newMedia (listView1 .SelectedItems 0.SubItems 3.Text ); string fname = this.listView1.SelectedItems0.SubItems3.Text; myplayer.URL = fname; this.button9.Text = 暫停; timer1.Enabled = true; (2) 當用戶當擊上一首按鈕時,系統(tǒng)將先判斷當前選擇行是不是第一行,如果為第一行則手動設

42、置列表框中的最后一行下標為當前選中行,并設置其可見狀態(tài),可以讓用戶知道當前選中的歌曲,最后實現(xiàn)上一首歌曲的播放,代碼如下:private void button1_Click(System.Object sender, System.EventArgs e)/上一首 int a = this.listView1.Items.Count - 1; try if(this.listView1.SelectedItems.Count0&this.listView1.Items.Count 0) if (listView1.SelectedItems0.Index 1 & this.listView1

43、 .SelectedItems 0.Index 0) index = listView1.SelectedItems0.Index;myplayer.URL=listView1.ItemslistView1.SelectedItems0.Index-1.SubItems3.Text; listView1.Itemsindex.Selected = false; listView1.Itemsindex - 1.Selected = true; listView1.Focus(); else listView1.Items 0.Selected = false; listView1.Itemsa

44、 .Selected = true; listView1.Focus(); myplayer.URL=this.listView1.Itemsa.SubItems3.Text; else MessageBox.Show(列表中沒有歌曲!); catch (3) 當用戶當擊下一首按鈕時,系統(tǒng)將先判斷當前選擇的行是不是最后一行,如果為最后一行則手動設置列表框中的第一行為當前選中行,并設置其可見狀態(tài),可以讓用戶知道當前選中的歌曲,然后再實現(xiàn)下一首歌曲的播放,代碼如下:int index = 0; private void button2_Click(System.Object sender, Sys

45、tem.EventArgs e) try if (this.listView1.SelectedItems.Count 0 & this.listView1.Items.Count 0) if(listView1.SelectedItems0.Index 1) index = listView1.SelectedItems0.Index; myplayer.URL = listView1.Itemsindex + 1.SubItems3.Text; listView1.Itemsindex.Selected = false; listView1.Itemsindex + 1.Selected

46、= true; listView1.Focus(); else listView1.SelectedItems0.Selected = false; listView1.Items0.Selected = true; listView1.Focus(); myplayer.URL = this.listView1.Items0.SubItems3.Text; else MessageBox.Show(列表中沒有歌曲!); catch (4) 當用戶當擊增加音量按鈕時,系統(tǒng)會調用播放器控件的增加音量事件,使播放器增加音量,部分代碼如下:keybd_event(175, 0, 0, 0);/增加音

47、量(5) 當用戶單擊減小音量按鈕時,系統(tǒng)會調用播放器控件的減小音量事件,使播放器降低音量,部分代碼如下:keybd_event(174, 0, 0, 0);(6) 當用戶單擊快進按鈕時,系統(tǒng)調用播放器控件的fastForward()方法,使播放器實現(xiàn)快進的功能,部分代碼如下:myplayer.Ctlcontrols.fastForward();/快進(7) 當用戶單擊快退按鈕時,系統(tǒng)調用windows media player 控件的fashReverse()方法,使播放器實現(xiàn)快退的功能,部分代碼如下:myplayer.Ctlcontrols.fastReverse();(8) 當用戶單擊停止

48、按鈕時,系統(tǒng)調用播放器控件的stop()方法,并且停止時間控件的運行,使其可用狀態(tài)設為false,手動拖動條值設為0,使播放器實現(xiàn)停止播放的功能,部分代碼如下:timer1.Enabled = false;myplayer.Ctlcontrols.stop();trackBar1.Value = 0;button9.Text = 播放;(9) 用戶單擊按歌曲類別查詢時,將彈出歌曲類別查詢窗體。本系統(tǒng)設計了一個歌曲類別查詢界面,以區(qū)別于各種不同的查詢,方便操作。界面查詢時,用戶只需要從數(shù)據庫中選擇己有的歌曲類別查詢就可以看到當前數(shù)據庫表中己有的歌曲信息,而不需用戶手動填寫歌曲類別。部分代碼如下:

49、Form frm = new FrmSongType();frm.ShowDialog();return;(10) 當用戶單擊按歌手查詢時,系統(tǒng)將彈出歌手查詢窗體。本系統(tǒng)同時設計了歌手查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內輸入想要查詢的歌手名稱,為了實現(xiàn)高效率查詢,在設計查詢語句時,采用的是模糊查詢,這樣,如果用戶只記得歌手名稱中某一個字,也可以查到相應的數(shù)據。部分代碼如下:Form frm = new FrmName ();frm.ShowDialog();return;(11) 當用戶單擊按拼音查詢時,系統(tǒng)將彈出拼音查詢窗體。本系統(tǒng)同時設計了歌手拼音查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內輸入想要查詢的歌手的拼音,為了實現(xiàn)高效率查詢,在設計查詢語句時,采用的是模糊查詢,不區(qū)分大小寫,盡管系統(tǒng)在自動生成時,歌手拼音的首字母是大寫的,但是查詢的時候不影響功能的使用。這樣設計,只為了可以盡可能快地查到數(shù)據庫中相關數(shù)據。部分代碼如下:Form frm = new Frmpinyin();frm.ShowDialog();return;(12) 當用戶單擊按歌曲名稱查詢時,系統(tǒng)彈出歌曲名稱查詢窗體。本系統(tǒng)同時設計了歌曲名稱查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內輸入想要查詢的歌曲

溫馨提示

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

評論

0/150

提交評論