freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)論文(編輯修改稿)

2024-10-01 03:29 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 用問題及其壞境的分析與理解采用一系列的分析方法和技術(shù)將用戶的需求逐步精確化、完全化、一致化,最終形成需求規(guī)模說明文檔 的過程。本節(jié)將從不同的角度描述系統(tǒng)的需求。 播放器的基本控制需求 在著手開發(fā)系統(tǒng)之前首先要明確該系統(tǒng)應(yīng)該實(shí)現(xiàn)的一些最基本的功能,然后逐步細(xì)化,為每個(gè)功能創(chuàng)建一個(gè)模塊,再對(duì)各個(gè)模塊進(jìn)行開發(fā)。通過分析我們得出一款音樂播放器的基本控制如圖 31 所示: 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 11 歌 曲 下 載歌 曲 添 加播 放暫 停進(jìn) 度 控 制上 一 曲下 一 曲音 量 控 制歌 詞 顯 示 圖 31 播放器基本控制圖 功能需求 功能需求規(guī)定開發(fā)人員必須在產(chǎn)品中實(shí)現(xiàn)的軟件功能,用戶利用這些功能來完成任務(wù),滿足業(yè)務(wù)需求。功能需求有時(shí)也被稱作行為需求 ( behavioral requirement),因?yàn)榱?xí)慣上總是用“應(yīng)該”對(duì) 其進(jìn)行描述。功能需求描述是開發(fā)人員需要實(shí)現(xiàn)什么。功能需求定義一個(gè)軟件系統(tǒng)或組件的功能,也是一個(gè)系統(tǒng)需提供的功能及服務(wù)。功能可以用一組輸入、行為及輸出的組合來表示。功能需求可以是計(jì)算、技術(shù)細(xì)節(jié)、數(shù)據(jù)處理或其他說明系統(tǒng)希望達(dá)成功能的內(nèi)容。功能需求會(huì)以非功能性需求(或是質(zhì)量需求)為其基礎(chǔ)。 結(jié)合音樂播放器所要實(shí)現(xiàn)的內(nèi)容,我們列出用戶操作的模塊,其中每個(gè)模塊對(duì)應(yīng)一個(gè)功能。 用戶啟動(dòng)程序進(jìn)入主界面,用戶可以通過添加模塊添加本地歌曲,可以一首一首添也可以添加整個(gè)歌曲文件夾。通過播放列表用戶可以實(shí)現(xiàn)對(duì)歌曲的查找、播放、暫 停、音量調(diào)節(jié)、靜音。通過歌詞模塊可以實(shí)行歌曲歌詞的顯示、比對(duì)、歌詞字體選擇。 此外用戶還可以聯(lián)網(wǎng)下載歌詞、歌曲。其功能模塊時(shí)序圖如下 32 所示: 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 12 主 界 面 播 放 列 表 播 放 界 面 播 放 對(duì) 象 方 法打開文件添 加 到 播放 列 表選擇歌曲播放播 放 頁 面播放訪 問 播 放 方 法播放方法返 回 播 放 界 面 圖 32 音樂播放器功能時(shí)序圖 4 系統(tǒng)設(shè)計(jì) 系統(tǒng)概要設(shè)計(jì) 在需求明確、準(zhǔn)備開始編碼之前,要做概要設(shè)計(jì)。概要設(shè)計(jì)的主要任務(wù)是把需求分析得到的 DFD 轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù) 庫的設(shè)計(jì)。概要設(shè)計(jì)有多種方法。在早期有模塊化方法、功能分解方法;在 60 年代后期提出了面向數(shù)據(jù)流和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法;近年來又提出面向?qū)ο蟮脑O(shè)計(jì)方法等。本系統(tǒng)采用模塊化軟件設(shè)計(jì),自頂向下逐層把軟件系統(tǒng)劃分成若干模塊。 每個(gè)模塊完成一個(gè)特定的功能, 最后將所有模塊按照某種方法組合成一個(gè)整體,達(dá)到 整個(gè) 播放器 所要求的功能。 系統(tǒng)功能設(shè)計(jì)及描述 本音樂播放器不僅要實(shí)現(xiàn)對(duì)一些常見的音頻格式文件的播放,而且還要有友好的用戶界面。其最終設(shè)計(jì)目標(biāo)是:實(shí)現(xiàn)對(duì)多種音頻格式文件的播放、實(shí)現(xiàn)對(duì)歌詞的滾動(dòng)播放及當(dāng)前播放曲目長(zhǎng)度 顯示、顯示歌曲文件信息、實(shí)現(xiàn)靜音和音量控制;播放器軟件占用系統(tǒng)資源少、運(yùn)行平臺(tái)要求不高、界面美觀舒適、操作簡(jiǎn)單、易維護(hù)、高穩(wěn)定性、能滿足用戶的常見需求。 主要?jiǎng)澐譃橐韵缕邆€(gè)功能模塊,每個(gè)功能模塊的作用描述如下: 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 13 ? 播放控制:控制歌曲的播放狀態(tài),如:播放、暫停、上一曲、下一曲。播放過的歌曲按播放順序排列在播放列表中,每次退出程序、重啟播放器后播放列表中的播放記錄會(huì)自動(dòng)保存不會(huì)清空。 ? 文件控制:主要用來打開本地播放文件。通過研究音頻編碼解碼的相關(guān)技術(shù),了解音頻編碼解碼的原理和過程,本音樂播放器支持常見音頻格式文 件播放如: MP WMA、WAV等??梢詥蝹€(gè)曲目添加,也可以將整個(gè)文件夾中的曲目全部添加,實(shí)現(xiàn)歌曲文件添加的多樣化;此外還可以對(duì)播放列表進(jìn)行清空,對(duì)曲目的播放順序進(jìn)行控制;當(dāng)播放列表中曲目過多時(shí),可以從播放列表中快速搜索到需要播放的歌曲。還有對(duì)播放列表進(jìn)行控制如:打開文件所在目錄、移除列表、刪除文件、顯示歌曲文件的相關(guān)信息,如:歌手、專輯等。 ? 歌詞控制:播放音樂時(shí)控制是否顯示歌曲歌詞,若歌詞存在則同步滾動(dòng)顯示歌詞,若歌詞不存在則可聯(lián)網(wǎng)下載歌詞。此外還可以對(duì)歌詞字體進(jìn)行設(shè)置。 ? 進(jìn)度控制:顯示當(dāng)前歌曲的播放總時(shí) 長(zhǎng)和已播放時(shí)長(zhǎng),可以通過鼠標(biāo)調(diào)整歌曲的播放進(jìn)度,實(shí)現(xiàn)歌曲的跳躍式播放。其實(shí)現(xiàn)方式是通過進(jìn)度條和時(shí)間的同步顯示。 ? 聲音控制:調(diào)整歌曲音量的大小,顯示是否靜音。 ? 下載控制:可以聯(lián)網(wǎng)下載自己喜歡的歌曲、歌詞。若不知道歌曲名稱則可以按歌手名查找歌曲下載,若知道歌曲名則可直接輸入名稱進(jìn)行下載,可以在下載進(jìn)度列表中查看下載狀態(tài)。 ? 音樂剪切:對(duì)音樂文件進(jìn)行剪切。添加當(dāng)前路徑,對(duì)想要的歌曲進(jìn)行播放,在歌曲播放過程中你可以在任何地方設(shè)置一個(gè)起點(diǎn),然后,再設(shè)置一個(gè)終點(diǎn)?!霸嚶牳枨本褪前涯氵x出來的這一段播放一遍,看是不是你要的 那一段,有時(shí)候可以早開始了幾秒或者早結(jié)束了幾秒,這個(gè)時(shí)候可以直接在起點(diǎn)和終點(diǎn)的地方進(jìn)行調(diào)整。然后在這個(gè)窗口的上面有個(gè)“保存歌曲”,就可以把你選出來的這段音樂保存起來了。我們可以通過歌曲剪切功能截取自己喜歡的音樂片段,來做為自己的手機(jī)鈴聲。 其具體功能模塊如圖 41 所示: 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 14 播 放 器播放控制文件控制歌詞控制進(jìn)度控制聲音控制下載控制播放/暫停停止上一曲/下一曲打開文件播放列表歌詞顯示歌詞搜索歌詞字體設(shè)置歌詞比對(duì)顯示播放進(jìn)度調(diào)整播放進(jìn)度音量大小控制靜音歌曲下載歌詞下載輸入歌曲名下載按歌手名下載音樂剪切 圖 41 音樂播放器功能模塊圖 5 系統(tǒng)功能實(shí)現(xiàn) 根據(jù)上一章對(duì)系統(tǒng)各個(gè)模塊的分析,本節(jié)主要講述如何具體實(shí)現(xiàn)這些模塊功能。 幾乎所有的 Windows 程序都離不開窗體, Windows 窗體應(yīng)用程序是 Windows 下進(jìn)行軟件開發(fā)的基礎(chǔ)。在 C中,通過 Visual Studio 2020 開發(fā)平臺(tái)模版,可以自動(dòng)生成多種基于Windows 的應(yīng)用程序框架,主要包括基于 .NET Framework 的 Windows 窗體應(yīng)用程序、淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 15 Windows 服務(wù)應(yīng)用程序。最常用的是 Windows 窗體應(yīng)用程序。在 Windows 窗體應(yīng)用程序中,有窗體 (Form)和控件 (Control)兩個(gè)基本概念。窗體是控件的容器,控件是應(yīng)用程序顯示數(shù)據(jù)或接受數(shù)據(jù)輸入的相對(duì)獨(dú)立的用戶界面元素。 .NET 類庫提供了豐富的窗體相關(guān)類,包括窗體、按鈕、狀態(tài)欄、工具欄、菜單、文本框、列表等多種不同的 界面元素;此外還提供各種控件、組件、容器。通過這些界面元素的不同組合,可以設(shè)計(jì)出友好的用戶界面。對(duì)于軟件開發(fā)中要用到的圖片可以自己繪制,相關(guān)控件可以調(diào)用類庫,從而設(shè)計(jì)出外形美觀的界面。但這也做相當(dāng)費(fèi)時(shí),由于畢業(yè)設(shè)計(jì)的時(shí)間有限,圖片都從網(wǎng)上下載,并做稍微處理,所以美觀方面有一定欠缺,待以后有時(shí)間慢慢改進(jìn)。此外界面是由窗體、控件拖放組成,大部分代碼由視圖設(shè)計(jì)器自動(dòng)生成,無需太多改動(dòng),因此這一部分不再詳細(xì)闡述,下面將主要介紹主要功能模塊的核心代碼實(shí)現(xiàn)。 歌曲添加模塊 很多的應(yīng)用程序都有打開文件功能,本程序 使用 OpenFileDialog 組件,用來打開本地磁盤上的一個(gè)或多個(gè)文件,并添加到文件播放列表中。 添加 歌曲 文件 為了趕上社會(huì)的潮流,我們經(jīng)常會(huì)從網(wǎng)上下載最熱門的音樂,本模塊功能就是實(shí)現(xiàn)添加本地歌曲或已下載到電腦的最新歌曲到播放列表,同時(shí)更新播放列表,使我們能及時(shí)欣賞到自己喜歡的音樂。其具體代碼如下: private void AddSong_Click(object sender, EventArgs e) { = 音樂文件 (*.wmv, *.mp3,*.wav)| *.wmv。 *.mp3。*.wav||All files (*.*)|*.*。 = 。 = 。 = false。 = 添加音樂文件 。 if (() == ) { string strLongPath = 。 WriteFileByLongPath(strLongPath)。 } 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 16 } private void WriteFileByLongPath(string strLongPath) { int b = (\\)。 string strShortPathWithExtension = (b + 1)。 StreamWriter sw = new StreamWriter(, true)。 string extension = ( 3)。 if (() == wmv || () == mp3 || () == wav) { string strShortPathWithoutExtension = (b + 1, 4)。 Mp3 mp3 = new Mp3(strLongPath)。 if (!(() || ())) {//獲取成功的結(jié)果 (歌手名 歌曲名 ) strShortPathWithoutExtension = () + + ()。 } //否則原文件名 if (!(strShortPathWithoutExtension)) {//不包含 (strShortPathWithoutExtension)。 Image image = getImageByArtistOrSongName(, strShortPathWithoutExtension)。 (image)。 (strShortPathWithoutExtension)。 = songList。 = imageList。 淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì)) 17 (strShortPathWithoutExtension)。 (strLongPath)。 //寫入全路徑 } } ()。 ()。 } . 2 添加 歌曲 文件夾 當(dāng)我們要欣賞歌曲專輯時(shí),可能要添加的文件比較多,顯然單曲添加比較麻煩,這時(shí)我們就可以使用 OpenFileDialog 組件的 Multiselect 屬性和 Filenames 屬性實(shí)現(xiàn)整個(gè)文件夾的添加,同時(shí)更新播放列表。代碼如下: private void tsmiAddSongFolder_Click(object sender, EventArgs e) { if (() == ) { string str = 。 DirectoryInfo r = new DirectoryInfo(str)。 GetAllFiles(r)。 } } public void GetAllFiles(DirectoryInfo dir) { FileSystemInfo[] fileinto = ()。 foreach (FileSystemInfo i in fileint
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1