音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁
音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁
音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁
音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁
音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(jì)說明書 學(xué)生姓名學(xué)生姓名學(xué)學(xué) 號號 學(xué)院學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專專 業(yè)業(yè)計(jì)算機(jī)科學(xué)與技術(shù) 軟件工程 題題 目目音樂播放器的設(shè)計(jì)與實(shí)現(xiàn) 指導(dǎo)教師指導(dǎo)教師 姓 名 專業(yè)技術(shù)職稱 學(xué)位 年月 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 1 摘摘 要要 隨著生活水平的提高 娛樂已成為非常主流的話題 人們不僅需要通過音樂陶冶 情操 而且越來越多的人傾向于使用音樂 視頻等娛樂和放松自己 這大大促進(jìn)了媒體 軟件的發(fā)展 本文旨在介紹研究常用數(shù)字音頻編碼和解碼的相關(guān)知識 并結(jié)合 VS2008 編 寫多功能音樂播放器 了解音樂播放器功能的實(shí)現(xiàn) 掌握開發(fā)音樂播放器所需的相關(guān)知 識 采用了面向?qū)ο筌浖こ谭椒?其開發(fā)主要包括應(yīng)用程序界面設(shè)計(jì)和后臺代碼運(yùn)行 兩個方面 實(shí)現(xiàn)了多功能音樂播放器在計(jì)算機(jī)上的應(yīng)用 可以在很大程度上滿足用戶的 需求 該系統(tǒng)主要具備 音樂播放控制 音樂文件控制 音量控制 下載控制 歌詞控制 進(jìn)度控制 音樂剪輯等功能模塊 關(guān)鍵字 關(guān)鍵字 音樂播放器 音頻編碼格式 TechSmith Screen Capture Codec FFmpeg C Visual Studio 2008 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 2 Abstract With the improvement of standards of living entertainment has become very mainstream topics it is required not only by music edifying and as more and more people tend to use music video and other entertainment and relax which greatly promoted the development of media software This article aims to introduce the research knowledge of common digital audio encoding and decoding and in conjunction with VS2008 prepared multifunctional music player understand the functions of the music player to acquire related knowledge needed to develop music player object oriented software engineering methods are used their development includes the application interface design and code to run in the background tracks to realize multifunctional music player application on your computer you can to a large extent meet the needs of users The system mainly includes a music player music file control volume control control control schedule control of lyrics music editing function module Keywords music player audio coding format techsmith screen capture codec c visual studio 2008 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 3 目目 錄錄 1 前言 4 1 1 選題的背景及意義 4 1 2 網(wǎng)絡(luò)流行音樂播放器簡介 4 2 系統(tǒng)相關(guān)技術(shù)及開發(fā)平臺介紹 5 2 1 開發(fā)應(yīng)用技術(shù)介紹 5 2 2 開發(fā)及運(yùn)行壞境 7 3 系統(tǒng)的分析 8 3 1 可行性分析 8 3 2 常見的幾種音頻格式及其特點(diǎn) 9 3 3 需求分析 10 4 系統(tǒng)設(shè)計(jì) 12 4 1 系統(tǒng)概要設(shè)計(jì) 12 4 2 系統(tǒng)功能設(shè)計(jì)及描述 12 5 系統(tǒng)功能實(shí)現(xiàn) 14 5 1 歌曲添加模塊 15 5 2 歌曲列表模塊 19 5 3 播放控制模塊 20 5 4 音量控制模塊 23 5 5 進(jìn)度控制模塊 24 5 6 滾動字幕模塊 24 5 7 歌曲下載模塊 29 5 8 歌曲剪輯模塊 31 結(jié) 論 35 參 考 文 獻(xiàn) 36 致 謝 37 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 4 1 1 前言前言 1 11 1 選題的背景及意義選題的背景及意義 音樂是情感的藝術(shù) 美妙動聽的音樂來源于情感 又潛移默化地影響情感 讓我們 進(jìn)入瑰麗多彩的虛化與現(xiàn)實(shí)的意境之中 向上追溯百年或千年 直至最原始的音樂誕生 之初 我相信音樂是為了傾訴而不是表現(xiàn) 是自然的流露而不是技巧的夸張 是自我的 沉醉而不是別人的掌聲 因?yàn)閻叟c感動 因?yàn)樯膱A滿與缺憾 因?yàn)樗枷氲撵`動與創(chuàng) 造 所以音樂不單在樂譜上 更在我們的心中 眾所周知任何格式的音樂都要通過音樂播放軟件播放 那么音樂播放軟件是通過什 么樣的原理實(shí)現(xiàn)音樂的播放的呢 音樂播放器就是音頻解碼器的可視化操作界面 其實(shí) 質(zhì)是針對各種音頻編碼格式的解碼器 例如 APE 格式調(diào)用的是 Monkey s Audio 解碼器 FLAC 格式調(diào)用的是 FLAC 解碼器 MP3 調(diào)用的是 lame 解碼器 大部分音樂播放器都支持 多種音樂格式的文件 這是因?yàn)檫@些播放器將不同的音頻解碼器打包起來 并制作統(tǒng)一 的播放界面 從而讓使用者能夠方便地播放和聆聽各種音樂 伴隨著改革開放人們的生活水平普遍提高如今音樂已成為越來越多人的心靈寄托 隨著因特網(wǎng)在我國的普及隨之而來的是各式各樣的播放器軟件 盡管未來的音樂播放器將具備各種豐富多彩的功能 但作為一款多媒體軟件 音頻 應(yīng)用才是最基本的 也是最能決定獲取用戶數(shù)量的因素 基于上述分析音質(zhì)高 外形美觀 小巧且功能強(qiáng)大是未來播放器發(fā)展的主流趨勢 作為一個音樂愛好者兼軟件工程專業(yè)的一員若能編寫一款小巧功能強(qiáng)大的音樂播放器無 疑是一件很有成就感的事情 1 21 2 網(wǎng)絡(luò)流行音樂播放器簡介網(wǎng)絡(luò)流行音樂播放器簡介 本小節(jié)舉例介紹目前網(wǎng)絡(luò)上流行的幾款音樂播放器 比如國產(chǎn)千千靜聽 酷狗音樂等 比較分析了它們各自特有的功能 此外還集中介紹了常見的幾種編碼格式以及它們各自 的特點(diǎn) 1 2 11 2 1 千千靜聽千千靜聽 千千靜聽是一款專為用戶定制的全新一代的免費(fèi)聽歌下載音樂播放器軟件 提供百萬 首歌曲免費(fèi)試聽下載 擁有最新 最流行的歌曲 提供第一時間音樂資訊 超高品質(zhì) 320kbps 的音樂歌曲下載 給耳朵更優(yōu)質(zhì)的享受 超炫的智能語音搜歌功能讓聽歌更加 快捷 免費(fèi)的手機(jī)鈴聲歌曲下載 輕松拖拽歌詞 保持歌詞同步 支持邊聽邊唱 支持 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 5 在線播放下載 流量限額提醒功能 軟件特色 1 高精度音質(zhì) 完美還原聽覺 2 在線自動下載歌詞 卡拉 OK 式同 步顯示 3 軟件小 運(yùn)行快 支持眾多插件 自由編輯歌詞 由你做主 4 自由轉(zhuǎn)換 MP3 WMA APE WAV 等多種音頻格式 批量修改歌曲標(biāo)簽信息 5 個性化皮膚 多種視覺效果享受永遠(yuǎn)免費(fèi) 1 2 21 2 2 酷狗音樂酷狗音樂 酷狗音樂是中國領(lǐng)先的數(shù)字音樂交互服務(wù)提供商 互聯(lián)網(wǎng)技術(shù)創(chuàng)新的領(lǐng)軍企業(yè) 致力 于為互聯(lián)網(wǎng)用戶和數(shù)字音樂產(chǎn)業(yè)發(fā)展提供最佳的解決方案 公司的使命是成為亞太地區(qū) 最大的數(shù)字音樂銷售推廣企業(yè) 自公司創(chuàng)建以來 一直在數(shù)字音樂發(fā)展上大膽嘗試 先 后與幾十家唱片公司 版權(quán)管理機(jī)構(gòu)合作探索發(fā)展 積累了數(shù)萬首數(shù)字音樂版權(quán) 并在 推動廣范圍的跨行業(yè) 跨平臺合作上做出努力 在艱巨的全球音樂數(shù)字化進(jìn)程中做出自 身的貢獻(xiàn) 全球最受歡迎的免費(fèi)中文播放軟件 流行音樂搜索平臺 軟件特色 1 迷你界面 界面更酷 絢麗流行 保持了 Windows Vista 和 XP 下的 完美表現(xiàn) 讓人耳目一新 2 卡拉 OK 酷狗獨(dú)創(chuàng) 卡拉 OK 歌詞顯示 多種模式 邊 聽邊唱 讓你聽歌更好玩 3 支持本地音樂播放完美音質(zhì) 支持所有的音頻文件 本地 文件拖放 同時支持網(wǎng)絡(luò)高速下載和本地播放 4 超強(qiáng)搜索和下載優(yōu)化歌曲搜索引擎 提高搜索準(zhǔn)確度 智能化節(jié)約帶寬 可關(guān)閉網(wǎng)絡(luò)功能 5 流行音樂資訊酷狗榜單家族 狗友推薦 酷吧 狗窩 最新流行音樂一網(wǎng)打盡 好聽的音樂來 找 你 6 個性化手 機(jī)炫鈴 DIY 讓擁有張揚(yáng)個性的鈴聲 7 音頻格式我選擇我的歌曲我制作 音質(zhì)音效我決 定 8 收音機(jī)動感音樂識別體驗(yàn)精選多家電臺 收聽全球風(fēng)云變化 更能識別電臺中的音 樂 2 2系統(tǒng)相關(guān)技術(shù)及開發(fā)平臺介紹系統(tǒng)相關(guān)技術(shù)及開發(fā)平臺介紹 本系統(tǒng)是采用面向?qū)ο蟮能浖_發(fā)方法 基于微軟的 Visual Studio Net 開發(fā)平臺 以 C 作為本系統(tǒng)的開發(fā)語言實(shí)現(xiàn)音樂播放器預(yù)定的需求功能 2 12 1 開發(fā)應(yīng)用技術(shù)介紹開發(fā)應(yīng)用技術(shù)介紹 2 1 12 1 1 TechSmithTechSmith ScreenScreen CaptureCapture CodecCodec 簡介簡介 TechSmith Screen Capture Codec 是 TechSmith 公司開發(fā)的 Camtasia Studio 的一個組件 用于壓縮 Camtasia Recorder 中的視頻文件 最大的優(yōu)點(diǎn)是可以保證圖像的質(zhì)量 截取的 屏幕經(jīng)過多次壓縮 還能保證高質(zhì)量 比傳統(tǒng)的壓縮方式相比 優(yōu)勢十分明顯 Camtasia Studio 是 TechSmith 旗下一款專門錄制屏幕動作的工具 無論在何種顏色模 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 6 式下它都能輕松地對屏幕動作進(jìn)行記錄 包括聲音 圖像 鼠標(biāo)的移動軌跡等 此外 它還能夠?qū)σ纛l片段進(jìn)行編輯 壓縮 剪接從而實(shí)現(xiàn)多種音效的播放 它還能輸出包括 Flash SWF FLV AVI WMV M4V CAMV MOV RM GIF 動畫等多種常見格式 是制作視頻演示的絕佳工具 其實(shí) Camtasia Studio 已不僅僅是一個錄屏工具了 它包括 了 5 個組件 Camtasia 錄像器 菜單制作器 音頻編輯器 劇場及播放器 本播放器在運(yùn)行之前需要安裝 TechSmith Screen Capture Codec 組件 此組件會和系統(tǒng) 一起打包發(fā)行 用戶也可以自己從網(wǎng)上下載更高版本的組件 只有安裝此組件才能實(shí)現(xiàn) 播放器中的歌詞剪切功能 2 1 22 1 2 FFmpegFFmpeg 簡介簡介 FFmpeg 在 Linux 平臺下開發(fā) 但它同樣也可以在其它操作系統(tǒng)環(huán)境中編譯運(yùn)行 包 括 Windows Mac OS X 等 這個項(xiàng)目最早由 Fabrice Bellard 發(fā)起 現(xiàn)在由 Michael Niedermayer 維護(hù) 許多 FFmpeg 的開發(fā)人員都來自 MPlayer 項(xiàng)目 而且當(dāng)前 FFmpeg 也 是放在 MPlayer 項(xiàng)目組的服務(wù)器上 項(xiàng)目的名稱來自 MPEG 視頻編碼標(biāo)準(zhǔn) 前面的 FF 代表 Fast Forward 使用本播放器如果要對 flv 格式的文件進(jìn)行播放則要安裝 FFmpeg 2 1 32 1 3 VisualVisual StudioStudio Net Net 集成開發(fā)環(huán)境簡介集成開發(fā)環(huán)境簡介 NET 平臺為創(chuàng)建新一代分布式 Web 應(yīng)用提供了所有工具和技術(shù) 表示技術(shù) 構(gòu)件技 術(shù)和數(shù)據(jù)庫技術(shù) NET 平臺支持標(biāo)準(zhǔn)的 Internet 協(xié)議 包括 HTTP 超文本傳輸協(xié)議 XML 可擴(kuò)展標(biāo)記語言 和 SOAP 簡單對象訪問協(xié)議 等 從而實(shí)現(xiàn)了異構(gòu)系統(tǒng)間應(yīng) 用程序的集成和通信 即用戶和供應(yīng)商可將在此平臺上開發(fā)的產(chǎn)品和服務(wù)無縫地嵌入自 身的業(yè)務(wù)進(jìn)程和日?;顒拥男畔⒓軜?gòu)中 NET 平臺建立在開放系統(tǒng)結(jié)構(gòu)基礎(chǔ)之上 集 Microsoft 在軟件領(lǐng)域的主要技術(shù)成就于 一身 NET 平臺包括一下 4 種核心技術(shù) NET Framework NET 企業(yè)服務(wù)器 構(gòu)件模塊 服務(wù)和 Visual Studio NET NET Framework 是 NET 平臺核心中的核心 它為 NET 平臺下應(yīng)用程序的運(yùn)行提供 基本框架 如果把 Windows 操作系統(tǒng)比作一幢摩天大廈的地基 那么 NET Framework 就 是摩天大廈中由鋼筋和混凝土搭成的框架 NET 企業(yè)服務(wù)器是 Microsoft 為企事業(yè)單位提供的技術(shù)服務(wù)中的一部分 它包括 Microsoft BizTalk Server Microsoft Commerce Server Host Integration Server Exchange Server SQL Server 等技術(shù)的開發(fā)工具包 構(gòu)建模塊服務(wù)主要是 Microsoft 提供的 COM 組件服務(wù)和 XML Web 服務(wù)技術(shù) 利用 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 7 構(gòu)建模塊服務(wù)開發(fā)應(yīng)用程序模塊 可以迅速地組裝一個功能完備的軟件 Visual Studio NET 是 NET 平臺的主要開發(fā)工具 由于 NET 平臺是建立在開放系統(tǒng)結(jié) 構(gòu)基礎(chǔ)之上的 因此應(yīng)用程序開發(fā)人員也可以使用其它開發(fā)工具 2 1 42 1 4 C C 語言簡介語言簡介 C 原為音樂標(biāo)記 讀 Sharp 是一種面向?qū)ο蟮木幊陶Z言 主要用于開發(fā)可以運(yùn)行在 NET 平臺上的應(yīng)用程序 C 語言是微軟公司開發(fā)的基于 NET Framework 的一種編程語言 它繼承了 C C 優(yōu)良傳統(tǒng) 又借鑒了 Java 的很多特點(diǎn) 微軟對 C 的定義是 C 是從 C 和 C 派生出來的一種簡單 現(xiàn)代 面向?qū)ο蠛皖愋桶踩木幊陶Z言 C 主要是從 C C 編程語言家族移植過來的 C 和 C 的程序員能夠很快熟悉它 C 試圖結(jié)合 Visual Basic 的快速開發(fā)能力和 C 的強(qiáng)大靈活的能力 2 C 是 2000 年 6 月微軟公司發(fā)布的一種全新編程語言 是由 Anders Hejlsberg 和他的微 軟開發(fā)團(tuán)隊(duì)所設(shè)計(jì) 具體如下特點(diǎn) 通用 支持跨平臺 C 程序的客戶端可以運(yùn)行在不同類型的客戶端上 如 PDA 手 機(jī)等 PC 裝置 簡單 主要體現(xiàn)在垃圾收集 指代等特性上 垃圾收集機(jī)制將減輕開發(fā)人員對內(nèi)存的 管理負(fù)擔(dān) 而指代功能更是可以讓開發(fā)者不經(jīng)過內(nèi)部類就調(diào)用函數(shù) 利用 C 的這些 功能 可以使開發(fā)者通過較少的代碼來實(shí)現(xiàn)更強(qiáng)大的應(yīng)用程序 并且能夠更好地避免 錯誤發(fā)生 從而縮短了應(yīng)用系統(tǒng)的開發(fā)周期 面向?qū)ο笤O(shè)計(jì) C 具有封裝 繼承和多態(tài)等面向?qū)ο蟪绦蛘Z言的特征 與 Web 應(yīng)用緊密的結(jié)合 C 支持絕大多數(shù)的 Web 標(biāo)準(zhǔn) 如 HTML XML SOAP 等 這是 C 最大的特點(diǎn) 使用它可以輕松開發(fā)各種企業(yè)級應(yīng)用平臺 安全性機(jī)制 消除軟件開發(fā)中常見錯誤 如語法錯誤 NET 提供的垃圾回收器能夠 幫助開發(fā)者有效的管理內(nèi)存資源 兼容性 C 遵循 NET 的公共語言規(guī)范 CLS 能夠保證與其它語言開發(fā)組件兼容 靈活的版本處理技術(shù) C 在語言本身內(nèi)置了版本控制功能 開發(fā)人員可以更加容易地 開發(fā)和維護(hù) C 提供了完善的錯誤和異常觸發(fā)機(jī)制 2 22 2 開發(fā)及運(yùn)行壞境開發(fā)及運(yùn)行壞境 硬件平臺 CPU 奔騰雙核 主頻 2 0GHz 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 8 內(nèi)存 1G 32 位 PC 機(jī) 160G 硬盤 軟件平臺 操作系統(tǒng) Windows XP Win7 Win8 開發(fā)工具 Visual Studio 2008 本軟件占用系統(tǒng)空間小 能滿足用戶對常見音頻格式文件的播放要求 還具有歌曲 歌 詞下載等功能 界面美觀交互性好 易于用戶理解操作 且不依賴于其它軟件 消耗資 源少易維護(hù) 程序有較好的健壯性和正確性 運(yùn)行該軟件所需的壞境配置不高 能滿足 絕大多數(shù)用戶的需求 3 3 系統(tǒng)的分析系統(tǒng)的分析 3 13 1 可行性分析可行性分析 可行性研究 feasibility study 的目的 是弄清楚待開發(fā)的項(xiàng)目是不是可能實(shí)現(xiàn)和值得進(jìn) 行 通常由系統(tǒng)分析員完成 并需寫出可行性論證報(bào)告 如結(jié)論認(rèn)為可行 即可制定項(xiàng) 目實(shí)施計(jì)劃 同時開始軟件開發(fā) 如結(jié)論認(rèn)為不可行 則應(yīng)提出終止該項(xiàng)目的建議 可 行性論證其實(shí)是在高層次上進(jìn)行的一次大大簡化了的需求分析與設(shè)計(jì) 但它的目的不是 去解決用戶提出的問題 僅是確定這項(xiàng)開發(fā)是否值得進(jìn)行 分析它存在哪些風(fēng)險 換句 話來說 在投入大量精力前研究成功的可能性 減小可能出現(xiàn)的風(fēng)險 即使研究的結(jié)論 是不值得進(jìn)行 所花的精力也并不浪費(fèi) 因?yàn)樗苊饬艘淮胃蟮睦速M(fèi) 下面我們將根 據(jù)本系統(tǒng)的特點(diǎn)具體描述以下可行性分析 3 3 1 13 1 1 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性 開發(fā)一個基于計(jì)算機(jī)的系統(tǒng)主要是為了獲取較好的經(jīng)濟(jì)效益和社會效益 因此對待開 發(fā)系統(tǒng)的經(jīng)濟(jì)可行性論證就成為可行性研究的重要內(nèi)容 成本 效益分析可用于評估系統(tǒng) 的經(jīng)濟(jì)合理性 給出系統(tǒng)開發(fā)的成本估算 并將估算的成本與獲得的利潤進(jìn)行比對 從 經(jīng)濟(jì)的角度論證待開發(fā)系統(tǒng)是否可行 一般來說 基于計(jì)算機(jī)系統(tǒng)的成本主要由 4 部分 組成 1 購置并安裝軟硬件及有關(guān)設(shè)備的費(fèi)用 2 系統(tǒng)開發(fā)費(fèi)用 3 系統(tǒng)安裝 運(yùn)行和維護(hù)費(fèi)用 4 人員培訓(xùn)費(fèi)用 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 9 5 結(jié)合畢業(yè)設(shè)計(jì)的整個開發(fā)過程可知開發(fā)音樂播放器所需的全部軟件平臺都是免費(fèi)的 所以在經(jīng)濟(jì)上是完全可行的 3 1 23 1 2 技術(shù)可行性技術(shù)可行性 技術(shù)可行性是可行性研究的關(guān)鍵內(nèi)容 由于系統(tǒng)分析和定義過程與系統(tǒng)技術(shù)可行性評 估過程同時進(jìn)行 此時系統(tǒng)的功能 性能和目標(biāo)的不確定性會給技術(shù)可行性論證帶來許 多困難 因此 技術(shù)可行性研究往往是系統(tǒng)開發(fā)過程中難度最大的工作 該音樂播放器 是用 C 語音開發(fā)的 調(diào)試比較簡單 所需的計(jì)算機(jī)硬件配置要求不高 一般 PC 機(jī)完全 能滿足開發(fā)要求 軟件方面 基于微軟 net 開發(fā)平臺使用 C 面向?qū)ο蟮木幊陶Z音 它開 發(fā)速度快 簡單易用 技術(shù)成熟 軟件也容易從網(wǎng)上獲得 完全能滿足開發(fā)需求 3 1 33 1 3 法理可行性法理可行性 法律可行性主要研究新系統(tǒng)的開發(fā)和使用是否會侵犯他人權(quán)益 是否觸犯了國家的法 律法規(guī) 本次的畢業(yè)設(shè)計(jì)是由本人獨(dú)立完成 開發(fā)的系統(tǒng)不會侵犯任何人的權(quán)益 所用 的軟件都是通過合法途徑獲取 因此完全符合法律法規(guī) 綜上所述 本系統(tǒng)的開發(fā)從經(jīng)濟(jì)上 技術(shù)上 法律上都是完全可行的 3 23 2 常見的幾種音頻格式及其特點(diǎn)常見的幾種音頻格式及其特點(diǎn) MP3MP3 格式 格式 MP3 的全稱是 Moving Picture Experts Group Audio Layer MP3 是 Fraunhofer IIS 研究所的杰出成果 在 MP3 出現(xiàn)前 以有損方式進(jìn)行音頻編碼最好的效果 能夠壓縮到 4 1 而強(qiáng)大的 MP3 可以實(shí)現(xiàn) 12 1 的高壓縮比 正是因?yàn)檫@種性能的巨大提 升 并且在實(shí)現(xiàn)高壓縮比的同時還能夠保持較好的音質(zhì) 所以使得 MP3 迅速地流行起來 MP3 是世界上第一個實(shí)用化的有損壓縮編碼方案 幾乎所有的播放軟件都支持它 也曾 今產(chǎn)生了許多第三方的編碼工具 MP3 編碼質(zhì)量分為 固定碼率 CBR 平均碼率 ABR 和動態(tài)碼率 VBR 4 特點(diǎn) 音質(zhì)好 壓縮比比較高 被大量軟件和硬件支持 應(yīng)用廣泛 WMAWMA 格式 格式 WMA 就是 Windows Media Audio 編碼后的文件 它是微軟公司推出的 與 MP3 格式齊名的一種新的音樂格式 WMA 在壓縮比和音質(zhì)方面都超過了 MP3 更是 遠(yuǎn)勝于 RA Real Audio 即使在較低的采樣頻率下也能產(chǎn)生較好的音質(zhì) WMA 針對的不 是單機(jī)市場 而是網(wǎng)絡(luò) 競爭對手就是網(wǎng)絡(luò)媒體市場中著名的 Real Networks WMA 格 式有非常高的壓縮率 一般為 1 18 因此它的文件所占空間比相應(yīng)的 MP3 文件少一半 這是通過提高音質(zhì) 減少數(shù)據(jù)流量的方法來實(shí)現(xiàn)更高的壓縮率的 此外它還有很強(qiáng)的防 盜版功能 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 10 特點(diǎn) 低碼率下的音質(zhì)表現(xiàn)難有對手 4 WAVWAV 格式 格式 WAV 是微軟 Windows 系統(tǒng)本身自帶的音頻格式 因?yàn)?Windows 系統(tǒng)的 普及性 此格式已經(jīng)成了當(dāng)前最主流的音頻格式之一 WAV 文件里面存放的每一塊數(shù)據(jù) 都有自己獨(dú)立的標(biāo)識 通過這些標(biāo)識可以告訴用戶究竟是什么數(shù)據(jù) WAV 格式的設(shè)計(jì)非 常靈活 該格式本身與任何媒體數(shù)據(jù)都不沖突 只要有軟件支持 我們甚至可以在 WAV 格式里面存放圖像 在 Windows 平臺上 通過 ACM 結(jié)構(gòu)及相應(yīng)的驅(qū)動程序 例如 CODEC 編碼 解碼器 可以在 WAV 文件中存放超過 20 種的壓縮格式 比如 ADPCM GSM CCITT G 711 G 723 和 MP3 等 4 特點(diǎn) 音質(zhì)非常好 被大量軟件所支持 RARA 格式格式 RA 格式是 Real Networks 公司所開發(fā)的一種新型流式音頻 Real Audio 文件 格式 這是網(wǎng)上接觸得非常多的一種格式 大部分音樂網(wǎng)站的在線試聽都采用了 Real Audio 這種格式完全針對的就是網(wǎng)絡(luò)上的媒體市場 支持非常豐富的功能 最大的優(yōu)點(diǎn) 就是這種格式可以根據(jù)聽眾的帶寬來控制自己的碼率 在保證流暢的前提下盡可能提高 音質(zhì) 4 特點(diǎn) 碼率可控 支持多種音頻編碼 可邊讀邊放 3 33 3 需求分析需求分析 軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能 性能 行為 設(shè)計(jì)約束等方面的期望 需 求分析就是通過對應(yīng)用問題及其壞境的分析與理解采用一系列的分析方法和技術(shù)將用戶 的需求逐步精確化 完全化 一致化 最終形成需求規(guī)模說明文檔的過程 本節(jié)將從不 同的角度描述系統(tǒng)的需求 3 3 13 3 1 播放器的基本控制需求播放器的基本控制需求 在著手開發(fā)系統(tǒng)之前首先要明確該系統(tǒng)應(yīng)該實(shí)現(xiàn)的一些最基本的功能 然后逐步細(xì)化 為每個功能創(chuàng)建一個模塊 再對各個模塊進(jìn)行開發(fā) 通過分析我們得出一款音樂播放器 的基本控制如圖 3 1 所示 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 11 歌曲下載 歌曲添加 播放 暫停 進(jìn)度控制 上一曲 下一曲 音量控制 歌詞顯示 圖 3 1 播放器基本控制圖 3 3 23 3 2 功能需求功能需求 功能需求規(guī)定開發(fā)人員必須在產(chǎn)品中實(shí)現(xiàn)的軟件功能 用戶利用這些功能來完成任務(wù) 滿足業(yè)務(wù)需求 功能需求有時也被稱作行為需求 behavioral requirement 因?yàn)榱?xí)慣上 總是用 應(yīng)該 對其進(jìn)行描述 功能需求描述是開發(fā)人員需要實(shí)現(xiàn)什么 功能需求定義 一個軟件系統(tǒng)或組件的功能 也是一個系統(tǒng)需提供的功能及服務(wù) 功能可以用一組輸入 行為及輸出的組合來表示 功能需求可以是計(jì)算 技術(shù)細(xì)節(jié) 數(shù)據(jù)處理或其他說明系統(tǒng) 希望達(dá)成功能的內(nèi)容 功能需求會以非功能性需求 或是質(zhì)量需求 為其基礎(chǔ) 結(jié)合音樂播放器所要實(shí)現(xiàn)的內(nèi)容 我們列出用戶操作的模塊 其中每個模塊對應(yīng)一個 功能 用戶啟動程序進(jìn)入主界面 用戶可以通過添加模塊添加本地歌曲 可以一首一首添也 可以添加整個歌曲文件夾 通過播放列表用戶可以實(shí)現(xiàn)對歌曲的查找 播放 暫停 音 量調(diào)節(jié) 靜音 通過歌詞模塊可以實(shí)行歌曲歌詞的顯示 比對 歌詞字體選擇 此外用戶還可以聯(lián)網(wǎng)下載歌詞 歌曲 其功能模塊時序圖如下 3 2 所示 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 12 主界面播放列表播放界面播放對象方法 打 開 文 件 添加到播 放列表 選 擇 歌 曲 播 放 播放頁面 播 放 訪問播放方法 播 放 方 法 返回播放界面 圖 3 2 音樂播放器功能時序圖 4 4系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 4 14 1 系統(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ù)是 將一個復(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)劃分成若干模塊 每個模塊完成一個特定的功 能 最后將所有模塊按照某種方法組合成一個整體 達(dá)到整個播放器所要求的功能 4 24 2 系統(tǒng)功能設(shè)計(jì)及描述系統(tǒng)功能設(shè)計(jì)及描述 本音樂播放器不僅要實(shí)現(xiàn)對一些常見的音頻格式文件的播放 而且還要有友好的用戶 界面 其最終設(shè)計(jì)目標(biāo)是 實(shí)現(xiàn)對多種音頻格式文件的播放 實(shí)現(xiàn)對歌詞的滾動播放及 當(dāng)前播放曲目長度顯示 顯示歌曲文件信息 實(shí)現(xiàn)靜音和音量控制 播放器軟件占用系 統(tǒng)資源少 運(yùn)行平臺要求不高 界面美觀舒適 操作簡單 易維護(hù) 高穩(wěn)定性 能滿足 用戶的常見需求 主要劃分為以下七個功能模塊 每個功能模塊的作用描述如下 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 13 播放控制 控制歌曲的播放狀態(tài) 如 播放 暫停 上一曲 下一曲 播放過的歌曲 按播放順序排列在播放列表中 每次退出程序 重啟播放器后播放列表中的播放記錄 會自動保存不會清空 文件控制 主要用來打開本地播放文件 通過研究音頻編碼解碼的相關(guān)技術(shù) 了解音 頻編碼解碼的原理和過程 本音樂播放器支持常見音頻格式文件播放如 MP3 WMA WAV 等 可以單個曲目添加 也可以將整個文件夾中的曲目全部添加 實(shí)現(xiàn)歌曲文件添加的多樣化 此外還可以對播放列表進(jìn)行清空 對曲目的播放順序進(jìn) 行控制 當(dāng)播放列表中曲目過多時 可以從播放列表中快速搜索到需要播放的歌曲 還有對播放列表進(jìn)行控制如 打開文件所在目錄 移除列表 刪除文件 顯示歌曲文 件的相關(guān)信息 如 歌手 專輯等 歌詞控制 播放音樂時控制是否顯示歌曲歌詞 若歌詞存在則同步滾動顯示歌詞 若 歌詞不存在則可聯(lián)網(wǎng)下載歌詞 此外還可以對歌詞字體進(jìn)行設(shè)置 進(jìn)度控制 顯示當(dāng)前歌曲的播放總時長和已播放時長 可以通過鼠標(biāo)調(diào)整歌曲的播放 進(jìn)度 實(shí)現(xiàn)歌曲的跳躍式播放 其實(shí)現(xiàn)方式是通過進(jìn)度條和時間的同步顯示 聲音控制 調(diào)整歌曲音量的大小 顯示是否靜音 下載控制 可以聯(lián)網(wǎng)下載自己喜歡的歌曲 歌詞 若不知道歌曲名稱則可以按歌手名 查找歌曲下載 若知道歌曲名則可直接輸入名稱進(jìn)行下載 可以在下載進(jìn)度列表中查 看下載狀態(tài) 音樂剪切 對音樂文件進(jìn)行剪切 添加當(dāng)前路徑 對想要的歌曲進(jìn)行播放 在歌曲播 放過程中你可以在任何地方設(shè)置一個起點(diǎn) 然后 再設(shè)置一個終點(diǎn) 試聽歌曲 就 是把你選出來的這一段播放一遍 看是不是你要的那一段 有時候可以早開始了幾秒 或者早結(jié)束了幾秒 這個時候可以直接在起點(diǎn)和終點(diǎn)的地方進(jìn)行調(diào)整 然后在這個窗 口的上面有個 保存歌曲 就可以把你選出來的這段音樂保存起來了 我們可以通 過歌曲剪切功能截取自己喜歡的音樂片段 來做為自己的手機(jī)鈴聲 其具體功能模塊如圖 4 1 所示 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 14 播放器 播 放 控 制 文 件 控 制 歌 詞 控 制 進(jìn) 度 控 制 聲 音 控 制 下 載 控 制 播 放 暫 停 停 止 上 一 曲 下 一 曲 打 開 文 件 播 放 列 表 歌 詞 顯 示 歌 詞 搜 索 歌 詞 字 體 設(shè) 置 歌 詞 比 對 顯 示 播 放 進(jìn) 度 調(diào) 整 播 放 進(jìn) 度 音 量 大 小 控 制 靜 音 歌 曲 下 載 歌 詞 下 載 輸 入 歌 曲 名 下 載 按 歌 手 名 下 載 音 樂 剪 切 圖 4 1 音樂播放器功能模塊圖 5 5系統(tǒng)功能實(shí)現(xiàn)系統(tǒng)功能實(shí)現(xiàn) 根據(jù)上一章對系統(tǒng)各個模塊的分析 本節(jié)主要講述如何具體實(shí)現(xiàn)這些模塊功能 幾乎所有的 Windows 程序都離不開窗體 Windows 窗體應(yīng)用程序是 Windows 下進(jìn)行 軟件開發(fā)的基礎(chǔ) 在 C 中 通過 Visual Studio 2008 開發(fā)平臺模版 可以自動生成多種基 于 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 兩個基本概念 窗體是控件的容器 控件是應(yīng)用程序顯 示數(shù)據(jù)或接受數(shù)據(jù)輸入的相對獨(dú)立的用戶界面元素 NET 類庫提供了豐富的窗體相關(guān)類 包括窗體 按鈕 狀態(tài)欄 工具欄 菜單 文本框 列表等多種不同的界面元素 此外 還提供各種控件 組件 容器 通過這些界面元素的不同組合 可以設(shè)計(jì)出友好的用戶 界面 對于軟件開發(fā)中要用到的圖片可以自己繪制 相關(guān)控件可以調(diào)用類庫 從而設(shè)計(jì) 出外形美觀的界面 但這也做相當(dāng)費(fèi)時 由于畢業(yè)設(shè)計(jì)的時間有限 圖片都從網(wǎng)上下載 并做稍微處理 所以美觀方面有一定欠缺 待以后有時間慢慢改進(jìn) 此外界面是由窗體 控件拖放組成 大部分代碼由視圖設(shè)計(jì)器自動生成 無需太多改動 因此這一部分不再 詳細(xì)闡述 下面將主要介紹主要功能模塊的核心代碼實(shí)現(xiàn) 5 15 1 歌曲添加模塊歌曲添加模塊 很多的應(yīng)用程序都有打開文件功能 本程序使用 OpenFileDialog 組件 用來打開本地 磁盤上的一個或多個文件 并添加到文件播放列表中 5 1 15 1 1 添加歌曲文件添加歌曲文件 為了趕上社會的潮流 我們經(jīng)常會從網(wǎng)上下載最熱門的音樂 本模塊功能就是實(shí)現(xiàn)添 加本地歌曲或已下載到電腦的最新歌曲到播放列表 同時更新播放列表 使我們能及時 欣賞到自己喜歡的音樂 其具體代碼如下 private void AddSong Click object sender EventArgs e ofd Filter 音樂文件 wmv mp3 wav wmv mp3 wav All files ofd InitialDirectory Application StartupPath ofd FileName ofd RestoreDirectory false ofd Title 添加音樂文件 if ofd ShowDialog DialogResult OK string strLongPath ofd FileName WriteFileByLongPath strLongPath 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 16 private void WriteFileByLongPath string strLongPath int b strLongPath LastIndexOf string strShortPathWithExtension strLongPath Substring b 1 StreamWriter sw new StreamWriter list ini true string extension strShortPathWithExtension Substring strShortPathWithExtension Length 3 if extension ToLower wmv extension ToLower mp3 extension ToLower wav string strShortPathWithoutExtension strLongPath Substring b 1 strShortPathWithExtension Length 4 Mp3 mp3 new Mp3 strLongPath if String IsNullOrEmpty mp3 Artist String IsNullOrEmpty mp3 Title 獲取成功的結(jié)果 歌手名 歌曲名 strShortPathWithoutExtension mp3 Artist Trim mp3 Title Trim 否則原文件名 if this myListBox Items Contains strShortPathWithoutExtension 不包含 songList Add strShortPathWithoutExtension Image image getImageByArtistOrSongName mp3 Artist strShortPathWithoutExtension imageList Add image this myListBox Items Add strShortPathWithoutExtension this myListBox songList songList this myListBox imageList imageList 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 17 sw WriteLine strShortPathWithoutExtension sw WriteLine strLongPath 寫入全路徑 sw Flush sw Close 5 15 1 2 2 添加歌曲文件夾添加歌曲文件夾 當(dāng)我們要欣賞歌曲專輯時 可能要添加的文件比較多 顯然單曲添加比較麻煩 這時 我們就可以使用 OpenFileDialog 組件的 Multiselect 屬性和 Filenames 屬性實(shí)現(xiàn)整個文件夾 的添加 同時更新播放列表 代碼如下 private void tsmiAddSongFolder Click object sender EventArgs e if fbd ShowDialog DialogResult OK string str fbd SelectedPath DirectoryInfo r new DirectoryInfo str GetAllFiles r public void GetAllFiles DirectoryInfo dir FileSystemInfo fileinto dir GetFileSystemInfos foreach FileSystemInfo i in fileinto if i is DirectoryInfo GetAllFiles DirectoryInfo i else 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 18 string strLongPath i FullName WriteFileByLongPath strLongPath private void tsmiSearch Click object sender EventArgs e if this mySearchPanel boolSearchShow 已經(jīng)打開 則關(guān)閉 this mySearchPanel close else this mySearchPanel boolSearchShow true this mySearchPanel lb this myListBox this mySearchPanel copyValueList initialSearchPanel 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 19 圖 5 1 打開文件 5 25 2 歌曲列表模塊歌曲列表模塊 播放列表主要用來顯示要播放歌曲的信息 如歌手 照片 曲名 在這里我們使用 ListBox 控件來實(shí)現(xiàn)相關(guān)功能 詳細(xì)代碼如下 this myListBox Anchor System Windows Forms AnchorStyles System Windows Forms AnchorStyles Top System Windows Forms AnchorStyles Bottom System Windows Forms AnchorStyles Left this myListBox DrawMode System Windows Forms DrawMode OwnerDrawVariable this myListBox FormattingEnabled true this myListBox Location new System Drawing Point 2 115 this myListBox Name myListBox this myListBox Size new System Drawing Size 302 354 this myListBox TabIndex 0 this myListBox MouseDown new System Windows Forms MouseEventHandler this myListBox MouseDown 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 20 private void myListBox MouseDown object sender MouseEventArgs e if this myListBox thisIndex 1 if e Button System Windows Forms MouseButtons Right this myListBox ContextMenuStrip this cmsListBox 圖5 2播放列表 5 35 3 播放控制模塊播放控制模塊 播放是音樂播放器最重要的功能 本程序使用 Windows Media Player 命名空間中 定義的屬性和方法來實(shí)現(xiàn)歌曲的播放 暫停 上下去切換等 其核心代碼如下 private void initialBtn if playStatue MediaPlayer PlayStatue 播放 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 21 正在播放 暫停圖片 btnPlay Image Image FromFile pic pause bmp else if playStatue MediaPlayer PlayStatue 暫停 playStatue MediaPlayer PlayStatue 停止 開始播放圖片 btnPlay Image Image FromFile pic play bmp if this boolVolumn this btnVolumn Image Image FromFile pic 02 gif else this btnVolumn Image Image FromFile pic 01 gif private void nextSongPlay 下一曲 if playStyle MediaPlayer PlayStyle 隨機(jī)播放 選擇隨機(jī)播放時就產(chǎn)生一個隨機(jī)數(shù)組 播放記錄 根據(jù)數(shù)組 上一曲下一 曲都有用 if randomIndex 1 randomList Count randomSongPlay else this myListBox doubleClickIndex int randomList randomIndex else if playStyle MediaPlayer PlayStyle 順序播放 this myListBox doubleClickIndex if this myListBox doubleClickIndex this myListBox Items Count playStatue MediaPlayer PlayStatue 停止 this myListBox doubleClickIndex this myListBox Items Count 1 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 22 stop initialBtn return else 下一曲 如果到底 將播放第一首歌曲 全部循環(huán) this myListBox doubleClickIndex if this myListBox doubleClickIndex this myListBox Items Count 轉(zhuǎn)第一首 this myListBox doubleClickIndex 0 btnChangeSong initialBtn private void lastSongPlay if playStyle MediaPlayer PlayStyle 隨機(jī)播放 else if playStyle MediaPlayer PlayStyle 順序播放 this myListBox doubleClickIndex if this myListBox doubleClickIndex 1 this myListBox doubleClickIndex 0 playStatue MediaPlayer PlayStatue 停止 stop initialBtn return else 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 23 this myListBox doubleClickIndex if this myListBox doubleClickIndex 1 轉(zhuǎn)最后一首 this myListBox doubleClickIndex this myListBox Items Count 1 btnChangeSong 5 45 4 音量控制模塊音量控制模塊 通過調(diào)節(jié)音量大小來達(dá)到歌曲播放的最佳狀態(tài) 可以調(diào)用 API 函數(shù) SENDMESSAGE APPCOMMAND VOLUME MUTE 和 TrackBar 類來實(shí)現(xiàn)音量控制 代碼如下 private void btnVolumn Click object sender EventArgs e IniUtility FilePath Application StartupPath INI ini if this boolVolumn player setAudioOnOff off this boolVolumn false IniUtility WriteIniKey Player boolVolumn 0 else player setAudioOnOff on this boolVolumn true IniUtility WriteIniKey Player boolVolumn 1 initialBtn private void myTBVolumn Scroll object sender EventArgs e 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 24 IniUtility FilePath Application StartupPath INI ini int value this myTBVolumn Value player SetVolume value IniUtility WriteIniKey Player Volume value ToString 5 55 5 進(jìn)度控制模塊進(jìn)度控制模塊 進(jìn)度控制用來顯示歌曲的播放進(jìn)度 也可以通過鼠標(biāo)拖動實(shí)現(xiàn)歌曲的任意播放 通過 把當(dāng)前播放長度和進(jìn)度條同步結(jié)合起來實(shí)現(xiàn) 此外還能夠顯示歌曲的播放時長 這是通 過 Timer 組件的 Tick 事件實(shí)現(xiàn) 其主要代碼如下 private void myTBPlayProcess MouseDown object sender MouseEventArgs e player setPlayPosition this myTBPlayProcess Value this lblTime LblCurSecond this myTBPlayProcess Value private void changeCurSecond int value this myTBPlayProcess Value value

溫馨提示

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

評論

0/150

提交評論