【正文】
音樂播放器設(shè)計與實現(xiàn) 摘 要 本文對音樂播放器的設(shè)計與開發(fā)過程進(jìn)行了分析與敘述。依照系統(tǒng)開發(fā)的實際操作步驟,文章從需求分析、概要設(shè)計、詳細(xì)設(shè)計和測試這四大章節(jié)對系統(tǒng)開發(fā)過程進(jìn)行分別闡述。需求分析中主要包括了軟件設(shè)計前的需要實現(xiàn)的基本功能,界面要求;而概要設(shè)計則是對系統(tǒng)體系結(jié)構(gòu)、各功能模塊等具體的系統(tǒng)實現(xiàn)過程進(jìn)行剖析展示,在詳細(xì)設(shè)計章節(jié)中有詳細(xì)實現(xiàn)方法和文字解釋并配有表圖說明。文章還列舉了關(guān)鍵的功能模塊實現(xiàn)代碼。 本文主要詳細(xì)介紹了一個用Qt開發(fā)播放器的實現(xiàn)方法,在分析了目前國內(nèi)許多播放器樣式基礎(chǔ)上,并經(jīng)過反復(fù)摸索和學(xué)習(xí)研究后,借助編程語言C++和Qt開發(fā)環(huán)境最終實現(xiàn)了音樂播放器的開發(fā),并在一系列測試后,達(dá)成了友好化界面、所需功能基本完善、操作簡單的設(shè)計目標(biāo)。關(guān)鍵詞 Qt;音樂播放器;C++ Design and implementation of a music player Abstract In this paper, a music player design and development process were analyzed and described. In accordance with the actual steps of system development, the article from the needs analysis, outline design, detailed design and testing of these four sections of the system development process are described. Requirements analysis includes the basic functions of the software design prior to the need to achieve, and interface requirements。 while the outline design of the system is the specific system architecture, the functional modules such as the implementation process to analyze the display, there is a detailed section in the detailed design to achieve methods and interpretation of the text and with a table diagram. The article also lists the key features module code. This paper introduces the one with the Qt development player implementations, analyzing the current domestic many players style basis, and after trial and error and learning research, with the programming language C++ and Qt development environment and ultimately the music player development, and after a series of tests to reach a friendly interface, basic functions required for perfect, simple design goals. Keywords: Qt。 music player。 C++ 目 錄摘要 iAbstract ii1 緒論 1 課題背景 1 目的和意義 1 開發(fā)工具和技術(shù) 1 開發(fā)工具 1 使用技術(shù) 1 系統(tǒng)設(shè)計思想 2 本文的結(jié)構(gòu) 2 經(jīng)濟(jì)可行性 2 技術(shù)可行性 2 操作可行性 3 法律可行性 32 需求分析 4 軟件需求 4 編寫目的 4 項目背景 4 項目目的和目標(biāo) 4 系統(tǒng)需求分析 4 界面需求 5 性能需求 5 可靠性要求 5 運行環(huán)境需求 53 概要設(shè)計 7 設(shè)計計劃 7 7 7 7 總體設(shè)計 7 需求規(guī)定 7 運行環(huán)境 7 基本設(shè)計概念和處理流程 7 主要功能 9 人工處理過程 9 尚未問決的問題 9 面向?qū)ο蟮慕?9 14 144 詳細(xì)設(shè)計 16 具體模塊設(shè)計 16 編寫目的 16 背景 16 定義 16 程序系統(tǒng)的結(jié)構(gòu) 17 程序描述 17 功能 17 性能 18 模塊的實現(xiàn) 18 注釋設(shè)計 21 測試計劃 215 系統(tǒng)測試與性能分析 27 軟件測試 27結(jié)論 32致謝 34參考文獻(xiàn) 35 1 緒論 課題背景隨著計算機(jī)技術(shù)的發(fā)展應(yīng)用軟件在生活中應(yīng)用越來越廣泛。特別是多媒體技術(shù)在我們實際生活中應(yīng)用很多。作為音樂播放器軟件,網(wǎng)絡(luò)上流行著很多種,人們也并不陌生。以java編寫,運行于windows操作系統(tǒng)的為多數(shù)。它們大多數(shù)功能復(fù)雜,結(jié)構(gòu)龐大,界面也很美觀。但以簡潔的C++語言編寫為少數(shù)。在此次設(shè)計中,專門在Qt環(huán)境下用C++開發(fā)一個能夠?qū)崿F(xiàn)簡但功能,而且界面清晰的音樂播放器。從而更加是我們能夠直觀的看到實現(xiàn)音樂播放器功能所采用的這種方法,便于我們學(xué)習(xí)和應(yīng)用。Qt是一個跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣?,使用特殊的代碼生成擴(kuò)展。在現(xiàn)如今,它仍然非常流行。 目的和意義本項目的目的是開發(fā)一個可以播放主流的音樂播放器,本設(shè)計的實現(xiàn)主要功能是播放MP3,WAV、OGG等格式的音樂文件,并且能控制播放,暫停,停止,音量,選擇上一曲,選擇下一曲,進(jìn)度條,列表文件。還有歌曲文件的管理操作等多種播放控制,界面簡明,操作簡單。 開發(fā)工具和技術(shù) 開發(fā)工具 此次項目主要采用的是Qt開發(fā)環(huán)境進(jìn)行開發(fā)設(shè)計。Qt是一個1991年由奇趣科技開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣?,使用特殊的代碼生成擴(kuò)展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,易于擴(kuò)展,允許組件編程。2008年,奇趣科技被諾基亞公司收購,Qt也因此成為諾基亞旗下的編程語言工具。2012年,Qt被Digia收購。2014年4月,跨平臺集成開發(fā)環(huán)境Qt Creator ,實現(xiàn)了對于iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調(diào)試支持,集成了基于Clang的C/C++代碼模塊,并對Android支持做出了調(diào)整,至此實現(xiàn)了全面支持iOS、Android、WP。 使用技術(shù) 此次項目主要采用的軟件開發(fā)技術(shù)主要是C++語言。C++是在C語言的基礎(chǔ)上開發(fā)的一種集面向?qū)ο缶幊?、泛型編程和過程化編程于一體的編程語言。應(yīng)用較為廣泛,是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程的通用程序設(shè)計語言。它支持過程化程序設(shè)計,數(shù)據(jù)抽象,面向?qū)ο笤O(shè)計,制作圖標(biāo)等多種程序設(shè)計風(fēng)格。最新正式標(biāo)準(zhǔn)C++11于2011年8月12日公布。 系統(tǒng)設(shè)計思想對于音樂播放器,必須要滿足使用方便、操作靈活等要求。本系統(tǒng)在設(shè)計時應(yīng)該滿足以下幾個目標(biāo):(1)簡單操作,界面美觀、友好、方便、播放順暢;(2)系統(tǒng)最大限度地實現(xiàn)了易維護(hù)性和易操作性;(3)系統(tǒng)運行穩(wěn)定、安全可靠。 本文的結(jié)構(gòu)本文具體內(nèi)容包括:需求分析、概要設(shè)計、詳細(xì)設(shè)計與實現(xiàn)、軟件的測試。本文著重描述了音樂播放器組成與結(jié)構(gòu),闡述了軟件的設(shè)計方案、實現(xiàn)方法以及所采用的開發(fā)工具和相關(guān)技術(shù),另外,重點剖析了部分環(huán)節(jié)的開發(fā)過程。本系統(tǒng)在一定的環(huán)境下對系統(tǒng)的重要模塊進(jìn)行了模擬測試,證實了系統(tǒng)的可用性、可靠性。對于開發(fā)的每一個系統(tǒng),都會受到時間和資源上的雙重限制。因此,在每一個項目開發(fā)之前,都必須進(jìn)行可行性分析,這樣可以減少項目的開發(fā)風(fēng)險,避免人力、物力和財力的浪費。下面就經(jīng)濟(jì)、技術(shù)、操作和法律四個方面來介紹。 經(jīng)濟(jì)可行性軟件的經(jīng)濟(jì)可行性是指一個軟件產(chǎn)品在開發(fā)出來后所能帶來的經(jīng)濟(jì)上的效益與開發(fā)設(shè)計該軟件所需要的投入相比,是否是相適合的,另外最重要的是此軟件能否真正能給用戶帶來豐厚的經(jīng)濟(jì)利益,我開發(fā)的這個系統(tǒng)正是在不斷觀察的基礎(chǔ)上,考慮到為了新聞發(fā)布的使用者和管理者提升他們的工作效率,通過節(jié)省工作時間從而節(jié)省人力資源,該系統(tǒng)實現(xiàn)了方便操作與管理而設(shè)計理念。本系統(tǒng)的研發(fā)在經(jīng)濟(jì)可行性方面是完全沒有問題的。此軟件的開發(fā)不需要花費大量的資金,也不需要投入大量的人力物力,對于實現(xiàn)一些基本的功能只需要一個人就可以完成,從而可以節(jié)省許多不必要的費用,同時也可提高個人的實際動手能力。 技術(shù)可行性根據(jù)該系統(tǒng)要實現(xiàn)的功能來考慮所需要的技術(shù)在有限的預(yù)算內(nèi)是否可以達(dá)到,具體可以從軟件和硬件的功能要求、硬件環(huán)境配置、管理員的操作能力和數(shù)量等方面去考慮和分析。通過對該系統(tǒng)開發(fā)運行的可行性,在軟件方面選擇了比較好用并功能強(qiáng)大的Qt工具來進(jìn)行軟件的設(shè)計開發(fā),Qt工作平臺是一個十分優(yōu)秀的用于開發(fā)C++,集成開發(fā)環(huán)境,利用它我們可以進(jìn)行簡單Qt程序的開發(fā),以及提高開發(fā)效率。Qt的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持。它是功能豐富的集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能。而且在學(xué)習(xí)過程中我主要使用的也是這個工具,操作起來比較熟練。,:Qt既可以在linux上運行,也可以在windows系統(tǒng)運行。這些都是非常成熟的開發(fā)工具,它們在安全性、可用性、可靠性方面都非常值得信賴,因此在軟件的使用方面是沒有問題的。 在硬件方面,則應(yīng)該盡可能選擇空間不太大,硬件配置較高的設(shè)備,這樣在軟件的開發(fā)和運行過程中會更加的方便??紤]到現(xiàn)在的家用電腦硬件配置都比較高,一般的軟件運行起來都沒有問題,我選擇了在學(xué)校一直使用的HP筆記本電腦,因此系統(tǒng)在硬件方面也是沒有問題的。 操作可行性 本新音樂播放器操作簡單易行,用戶只需要打開播放器,插入歌曲,即可聽取各種歌曲,此軟件的管理人員對開發(fā)此應(yīng)用項目的態(tài)度確定而且管理方面的條件都比較成熟。經(jīng)過以上分析,運行方面是可行的。 法律可行性 本系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的。 綜上所述,開發(fā)一個基于Qt的音樂播放器系統(tǒng)對于方便大眾、聽歌、歌曲收集方面都具有速度更快,操作簡單,節(jié)省開支等有利之處,因此,建立一個基于Qt的新音樂播放器系統(tǒng)是必要可行的。 2 需求分析 軟件需求時至如今,隨著電子IT行業(yè)的發(fā)展,音樂播放器軟件在互聯(lián)網(wǎng)上有很多,種類繁多,各種功能多樣,樣式也絢麗奪目。相對于其他軟件來說,實現(xiàn)此類軟件的基本功能并不太繁瑣,但在編寫過程中所需的知識點很多,編寫過程并不容易。我課題選了Qt實現(xiàn)的音樂播放器的設(shè)計與實現(xiàn),希望通過此次畢業(yè)設(shè)計鞏固舊知識掌握新知識,整體提升自己代碼開發(fā)的綜合能力。 編寫目的 為明確軟件需求、安排項目與進(jìn)度、組織軟件開發(fā)與測試,而寫本文檔。在問題分析階段分析人員的主要任務(wù)是:對用戶的需求進(jìn)行鑒別、綜合和建模,清除用戶需求的模糊性、歧義性和不一致性,分析系統(tǒng)的數(shù)據(jù)要求,為原始問題及目標(biāo)軟件建立邏輯模型。分析人員要將對原始問題的理解與軟件開發(fā)經(jīng)驗結(jié)合起來,以便發(fā)現(xiàn)哪些要求是由于用戶的片面性或短期行為所導(dǎo)致的不合理要求,哪些是用戶尚未提出但具有真正價值的潛在需求。 項目背景 本項目由自己選題確定,由本人獨自開發(fā)。 開發(fā)軟件名稱:音樂播放器; 項目提出者: 太原理工大學(xué); 項目開發(fā)者: 樊凱。 項目目的和目標(biāo)本項目的目的是開發(fā)一個可以播放主流的音樂播放器,本設(shè)計的實現(xiàn)主要功能是播放MP3,WAV、OGG等格式的音樂文件,并且能控制播放,暫停,停止,音量,選擇上一曲,選擇下一曲,進(jìn)度條,列表文件。還有歌曲文件的管理操作等多種播放控制,界面簡明,操作簡單。 系統(tǒng)需求分析 功能需求 根據(jù)項目,我們可以獲得項目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求。系統(tǒng)的功能需求,我們分成三部分來概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求。以下分別描述:(1)播放器的基本控制需求播放:軟件理應(yīng)實現(xiàn)所選歌曲的正常播放(所選歌曲的文件格式應(yīng)該為 mp3,wav,ogg)。進(jìn)度條:顯示播放歌曲進(jìn)度。時間欄:顯示播放的時間。停止:停止當(dāng)前播放的歌曲,而顯示播放的圖標(biāo)。下一首:播放歌曲列表的下一首。上一首:播放上一首歌曲。頭像:顯示作者和版本號。(2)播放列表管理點擊目