基于SSM框架的音頻分享網(wǎng)站的設(shè)計與實現(xiàn)_第1頁
基于SSM框架的音頻分享網(wǎng)站的設(shè)計與實現(xiàn)_第2頁
基于SSM框架的音頻分享網(wǎng)站的設(shè)計與實現(xiàn)_第3頁
基于SSM框架的音頻分享網(wǎng)站的設(shè)計與實現(xiàn)_第4頁
基于SSM框架的音頻分享網(wǎng)站的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

廣東東軟學(xué)院本科畢業(yè)設(shè)計(論文)基于SSM框架的音頻分享平臺的設(shè)計與實現(xiàn)DesignandImplementationofAudioSharingPlatformBasedonSSMFramework

摘要在信息時代飛速發(fā)展的今天,人們獲取信息的方式基本來源于互聯(lián)網(wǎng)。互聯(lián)網(wǎng)在人們娛樂生活上發(fā)揮著重要作用。傳統(tǒng)的音樂網(wǎng)站大同小異,已經(jīng)無法滿足所有人的需要?;赟SM框架的音頻分享平臺可以讓不同年齡層的人享受音頻所帶來的快樂,讓人們學(xué)習(xí)生活兩不誤。音頻分享平臺項目使用了SSM框架開發(fā),采用了JAVA編程語言,開發(fā)工具采用Eclipse,數(shù)據(jù)庫采用MySql。用戶可播放收藏搜索音頻,后臺的音頻分類,收藏分類,音頻類別分類簡潔明了,管理員可通過搜索快速進(jìn)行增刪改操作。本文對音頻分享平臺前期的目的背景,具體的需求分析進(jìn)行了研究,講述了音頻分享平臺的總體設(shè)計,利用了表格和思維導(dǎo)圖詳細(xì)分析音頻分享平臺的功能,列出數(shù)據(jù)庫的數(shù)據(jù)表和測試用例及測試結(jié)果。最后,音頻分享平臺開發(fā)與設(shè)計已完成。關(guān)鍵詞:音頻分享SSM框架JAVA

AbstractWiththerapiddevelopmentoftheinformationage,thewaypeoplegetinformationisbasicallyfromtheInternet.TheInternetplaysanimportantroleinpeople'sentertainment.Traditionalmusicwebsitesaremuchthesameandnolongermeeteveryone'sneeds.TheaudiosharingplatformbasedonSSMframeworkcanletpeopleofdifferentagesenjoythehappinessbroughtbyaudio,andletpeoplelearnandliveatthesametime.TheaudiosharingplatformprojectwasdevelopedusingSSMframework,JAVAprogramminglanguage,EclipsedevelopmenttoolandMySqldatabase.Userscanplayfavoritesearchaudio,backgroundaudioclassification,collectionclassification,audiocategoryclassificationissimpleandclear,theadministratorcanquicklythroughthesearchoperation.Inthispaper,thepurposeoftheearlydevelopmentofaudiowebsite,thespecificneedsoftheanalysisoftheresearch,theaudioplatformoveralldesign,theuseoftablesandmindmapdetailedanalysisoftheaudiowebsitefunction,thedatabasedatatableandtestcasesandtestresults.Finally,thewebsitedevelopmentanddesignhavebeencompleted.Keywords:AudiosharingSSMframeworkJAVA

目錄第一章緒論 第一章緒論1.1研究背景及意義經(jīng)過四十多年的不斷發(fā)展,計算機網(wǎng)絡(luò)已經(jīng)成為支撐現(xiàn)代社會發(fā)展與技術(shù)進(jìn)步的重要基礎(chǔ)[1]。近十年來,計算機網(wǎng)絡(luò)在規(guī)模上呈現(xiàn)出驚人的擴張,無論在網(wǎng)絡(luò)接入方式還是網(wǎng)絡(luò)角色定位方面都出現(xiàn)了一系列極具意義的創(chuàng)新與改革[1]。從改革開發(fā)到如今2020年,足足42年間,人民不僅僅只局限于吃飽喝足,而是更在意與精神上的愉悅?;ヂ?lián)網(wǎng)就是一種使大眾可以獲得精神高度上的愉悅的工具。因此,互聯(lián)網(wǎng)一直在發(fā)展進(jìn)步。而音頻分享網(wǎng)站在互聯(lián)網(wǎng)普及之初就已經(jīng)出現(xiàn),到如今普通的音頻網(wǎng)站逐漸不能滿足人民日漸提高的娛樂需求。隨著技術(shù)的進(jìn)步,音頻分享平臺不應(yīng)該僅僅是廣大音樂愛好者交流分享的平臺,而應(yīng)該是可以開發(fā)出各種愛好者交流分享的平臺。目前,我國網(wǎng)絡(luò)高速發(fā)展,使用網(wǎng)絡(luò)的人也越來越多,根據(jù)CNNIC(中國互聯(lián)網(wǎng)信息中心)對中國互聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)展?fàn)顩r等多項互聯(lián)網(wǎng)絡(luò)的統(tǒng)計調(diào)查,我國1997年11月第一次向世界發(fā)布互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)汁報告,當(dāng)吋中國的互聯(lián)網(wǎng)用戶為62萬,到2005年7月第16次報告中,我國上網(wǎng)用戶高達(dá)1.03億,用戶量居世界第二[2]。2012年1月第29次報告中,截至2011年12月底,中國上網(wǎng)人數(shù)突破5億,到達(dá)5.13億,在2011年全年新增人數(shù)5580萬,互聯(lián)網(wǎng)普及率較上年提升4個百分點,達(dá)到38.3%[2]。人們在繁忙的工作和學(xué)習(xí),也不忘享受生活和生命。在利用信息網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)的同時,也享受著網(wǎng)絡(luò)發(fā)展帶來的其余服務(wù),例如電子小說、網(wǎng)絡(luò)游戲、在線音樂等。在這樣的需求下,音頻分享平臺應(yīng)時而生。音頻分享平臺是一個界面簡潔大方的音頻交流收藏網(wǎng)站,用戶可以將自己喜歡的音頻進(jìn)行收藏,音頻分享平臺充分考慮到用戶的需求,提供貼心的服務(wù)?,F(xiàn)在市面上的音頻網(wǎng)站,大多數(shù)都是非常單調(diào)的音頻分享,而如今簡簡單單的音頻分享已經(jīng)不能滿足大眾的需求了。應(yīng)運而生的音頻分享平臺主打的三個分類都是觀察到了現(xiàn)在市面上所需要的而提出,如有聲小說:年輕人工作上忙碌,生活上瑣事又多,并沒有時間看電子小說,有聲小說讓年輕人可同時處理兩件事情,且互不干擾;通過觀察可發(fā)現(xiàn)中老年人最愛就是聽收音機和看電視,而最近網(wǎng)絡(luò)時代快速發(fā)展,越來越多中老年人踏入網(wǎng)絡(luò)社會,網(wǎng)絡(luò)有聲小說也符合他們的需求,總而言之,音頻分享平臺充分考慮到用戶的需求,提供貼心的服務(wù)。1.2研究現(xiàn)狀1.2.1音頻分享平臺研究現(xiàn)狀20世紀(jì)90年代后期,隨著國際互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和計算機多媒體、電腦音樂技術(shù)的日趨成熟,計算機除了會傳遞文字、靜態(tài)圖像,還能傳遞動態(tài)視頻和音頻信息[3]。由此,計算機音樂便逐漸遷移到了網(wǎng)絡(luò)音樂,網(wǎng)絡(luò)音樂不僅從藝術(shù)傳播角度來看是一次偉大的革命,同時也對藝術(shù)傳統(tǒng)的創(chuàng)作、表演、欣賞、傳播、教育、評論等理念產(chǎn)生了強烈的沖擊[3]。根據(jù)艾媒咨詢4月發(fā)布的中國在線音頻市場研究報告顯示:2018年1月,中國在線音頻滲透率(APP活躍用戶數(shù)/全網(wǎng)用戶規(guī)模)中,喜馬拉雅FM的滲透率為5.12%,排名第一,其后是蜻蜓FM和荔枝,滲透率分別為2.29%和2.18%既[4]??梢钥吹?,在國內(nèi)音頻分享平臺中,喜馬拉雅FM作為獨角獸,優(yōu)勢明顯[4]。本音頻分享平臺主要的用戶是國內(nèi)對于廣大音頻愛好者和對音頻有特殊教育需求的個人,目標(biāo)是建立一個便捷的音頻搜索平臺,權(quán)威的網(wǎng)絡(luò)音頻榜單,年輕人和老年人均可的音頻電臺,構(gòu)建樂在分享的音頻互動網(wǎng)站。1.2.2SSM技術(shù)研究現(xiàn)狀目前,國內(nèi)外有很多的Web開發(fā)技術(shù),其中應(yīng)用最廣泛的兩類技術(shù)分別是微軟(Microsoft)公司的.Net平臺和Sun及IBM等公司提出的J2EE平臺;J2EE主要面向使用JAVA程序設(shè)計語言進(jìn)行基于Web的企業(yè)應(yīng)用的開發(fā)部署[5]。J2EE平臺相較于.Net平臺是開放的、跨平臺的、可移植的,因此很多企業(yè)都選擇J2EE平臺的結(jié)構(gòu)設(shè)計和解決方案;傳統(tǒng)的J2EE以EJB(EnterpriseJavaBean)容器為核心,EJB組件提供事務(wù)管理,處理用戶請求,支持打包處理和資源管理等功能,但是EJB與EJB容器的高度耦合關(guān)系,使其可移植性差[6],同時EJB代碼的復(fù)雜、維護(hù)的困難使其逐步被淘汰,因此輕量級的框架就應(yīng)運而生。例如,Struts、Spring等,降低了開發(fā)的復(fù)雜度,提高了開發(fā)時的調(diào)試效率,進(jìn)而提高了Web網(wǎng)站的開發(fā)速度[7]。當(dāng)下最流行的兩種開發(fā)MVC開源框架,一種是SSH,一種是SSM。他們之間的區(qū)別是MVC的實現(xiàn)方式和ORM持久化方面,SSH是Hiibernate二SSM是Mybatis。和SSH相比,SSM具有輕量級,速度快,效率高、入門門檻低的優(yōu)點。因此,音頻分享平臺使用SSM框架進(jìn)行開發(fā)與設(shè)計。1.3研究內(nèi)容本文研究內(nèi)容是設(shè)計和實現(xiàn)一款基于SSM框架的音頻分享平臺系統(tǒng)。用戶使用此音頻分享平臺可以播放收藏搜索管理喜愛的音頻,當(dāng)前音頻分享平臺最熱音頻和最新音頻;管理員后臺進(jìn)行音頻、收藏、分類管理。1.4章節(jié)安排本文是介紹開發(fā)一個基于SSM框架的音頻分享平臺的設(shè)計與實現(xiàn)。本論文的主要結(jié)構(gòu)為:第一章:緒論,介紹了基于SSM框架的音頻分享平臺的研究背景及意義、當(dāng)前音頻分享平臺的現(xiàn)狀,SSM技術(shù)的發(fā)展現(xiàn)狀,以及對本論文研究內(nèi)容進(jìn)行簡單介紹。第二章:音頻分享平臺需求分析,介紹了平臺功能需求分析和可行性需求分析,以及數(shù)據(jù)需求分析,本項目以網(wǎng)站的形式實現(xiàn)基于SSM框架的音頻分享平臺,并且根據(jù)功能需求確定本平臺的功能。第三章:音頻分享平臺設(shè)計,介紹了平臺總體設(shè)計的總體架構(gòu)、功能架構(gòu)設(shè)計,平臺的功能模塊設(shè)計具體闡述了各個功能以及數(shù)據(jù)庫的設(shè)計。第四章:音頻分享平臺實現(xiàn),介紹本平臺是如何實現(xiàn)的,開發(fā)實現(xiàn)音頻分享平臺所要用到的技術(shù),詳細(xì)介紹了各個功能模塊的設(shè)計思路以及核心代碼以及系統(tǒng)實現(xiàn)后的效果。第五章:音頻分享平臺測試,對音頻分享平臺進(jìn)行測試,及時發(fā)現(xiàn)平臺中的隱藏缺陷,分析缺陷產(chǎn)生的原因,對癥下藥。第六章:總結(jié)與展望,本章對論文進(jìn)行整體總結(jié)。

第二章音頻分享平臺需求分析一個系統(tǒng)進(jìn)行開發(fā)與實現(xiàn)的流程:從要做什么開始,到怎么做這個東西,再到做的實施過程,接下來便是檢驗成果,最后是交付;其中,第一個步驟“做什么”對應(yīng)的是需求分析過程。需求分析是系統(tǒng)定義部分的最后一個過程,也是開發(fā)部分第一個流程,其作用是準(zhǔn)確了解需求并建立確認(rèn)性和可驗證性的基礎(chǔ)。2.1需求分析現(xiàn)代社會,人們在閑暇空余的時間有多種放松心情的方式,有的人選擇去咖啡廳喝杯咖啡,有的人選擇去書店看本好書,有的人選擇在游戲中尋找快樂,還有的人會選擇戴上耳機傾聽一首音頻或者是一段有趣的小說讓自己心情愉悅。而且人們的需求還有在碎片化時間的場面下,音頻分享平臺可以解放雙手,用戶可以在碎片化時間的場面下進(jìn)行其他活動,做到工作生活兩不誤。音頻分享平臺不但給用戶提供了優(yōu)質(zhì)的音頻,同時操作方便。音頻分享平臺有三大主流用戶,他們分別是在校學(xué)生、上班族和中產(chǎn)用戶。他們的需求分別是,在校學(xué)生對音頻分享平臺的需求:利用碎片化時間,針對某一學(xué)科進(jìn)行額外學(xué)習(xí),如英語學(xué)習(xí)。上班族需求:平時工作繁忙,對于充電和娛樂有著強烈需求,利用碎片時間會聽有聲小說;而且現(xiàn)代社會壓力大,入睡困難,會選擇聽催眠助眠類音頻來助眠。中產(chǎn)用戶需求:對于傳統(tǒng)文學(xué)內(nèi)容有要求,娛樂型的有聲小說較為符合。2.1.1功能需求分析功能需求分析描述音頻分享平臺應(yīng)該具備的功能,對音頻分享平臺提供的功能描述,本音頻分享平臺包含以下幾個功能模塊的需求:(1)榜單模塊a)有3種榜單:按照點擊量、上傳時間排行、不同類別的排行榜。(2)搜索模塊a)用戶根據(jù)關(guān)鍵字搜索音頻。b)后臺管理員在音頻、收藏、分類管理頁面中可通過要求搜索。(3)收藏模塊a)前臺用戶可以收藏管理音頻。b)后臺管理員在收藏管理頁面進(jìn)行增刪改操作。(4)音頻模塊a)用戶進(jìn)入到音頻頁面可播放音頻和瀏覽相關(guān)信息。b)管理員在后臺音頻管理頁面進(jìn)行操作。(5)注冊模塊a)游客成功注冊后跳轉(zhuǎn)到首頁。(6)登錄模塊a)用戶成功登錄進(jìn)入首頁。b)管理員成功登錄進(jìn)入后臺。(7)分類模塊a)首頁不同類別音頻分類榜單形式顯示。b)后臺管理員音頻分類管理操作。2.1.2可行性需求分析音頻分享平臺開發(fā)過程中所需要的應(yīng)用軟件、硬件系統(tǒng)容易獲得,服務(wù)器端的安裝十分簡單,客戶端無需安裝任何軟件,可以直接通過瀏覽器訪問網(wǎng)站。用戶只要能夠使用互聯(lián)網(wǎng)設(shè)備就可以訪問本網(wǎng)站。以上條件均滿足的話,從經(jīng)濟的角度分析,具有完全的可行性。音頻分享平臺使用一個開源且可擴展的開發(fā)工具,安裝一個安裝方便、安裝速度快的數(shù)據(jù)庫,開發(fā)語言最好使用具有簡單易學(xué)、功能強大、安全、調(diào)試相對簡單特性的語言。以上條件均滿足的話,從技術(shù)的角度分析,具有完全的可行性。音頻分享平臺滿足操作簡單,對用戶的要求非常低,平臺內(nèi)容顯示整齊,網(wǎng)站架構(gòu)建立符合大多數(shù)用戶的習(xí)慣,如:搜索框在音頻分享平臺右上部、網(wǎng)站欄目導(dǎo)航顯而易見。用戶只需對WINDOWS操作熟練即可。后臺要管理簡單,管理員方便操作。以上條件均滿足的話,從操作的角度分析,具有完全的可行性。2.2數(shù)據(jù)需求分析音頻分享平臺后臺數(shù)據(jù)庫實時更新內(nèi)容,不同關(guān)聯(lián)數(shù)據(jù)在數(shù)據(jù)庫中按表的顯示進(jìn)行管理。下面是音頻分享平臺數(shù)據(jù)的需求分析:(1)用戶信息(2)音頻類型信息(3)播放記錄信息(4)音頻信息(5)角色信息(6)收藏信息(7)頁面信息第三章音頻分享平臺設(shè)計本章為音頻分享平臺設(shè)計部分,主要以平臺總體設(shè)計的總體架構(gòu)、開發(fā)框架、功能架構(gòu)設(shè)計,平臺的功能模塊設(shè)計以及數(shù)據(jù)庫的設(shè)計來介紹。此平臺采用SSM框架和Bootstrap框架,后端數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫進(jìn)行開發(fā),所用到的服務(wù)器是Tomcat服務(wù)器。3.1平臺總體設(shè)計3.1.1平臺總體架構(gòu)設(shè)計音頻分享平臺的總體架構(gòu)采用B/S結(jié)構(gòu),由客戶端和服務(wù)端組成,客戶端面向的是使用音頻分享平臺的用戶,音頻分享平臺的用戶發(fā)送請求給服務(wù)器端,服務(wù)器處理后將數(shù)據(jù)傳送給數(shù)據(jù)庫進(jìn)行處理,本音頻分享平臺的總體架構(gòu)如下圖1-1所示。圖1-1平臺總體架構(gòu)平臺總體架構(gòu)層次功能分析:(1)Controller層為表現(xiàn)層:接受http請求,控制流程,調(diào)用Service層的接口;(2)Service層為業(yè)務(wù)層:設(shè)計接口和其實現(xiàn)類,調(diào)用已定義的DAO層接口;(3)DAO層為持久層:設(shè)計DAO層接口,與數(shù)據(jù)庫進(jìn)行聯(lián)絡(luò)。3.1.2平臺功能結(jié)構(gòu)設(shè)計根據(jù)第二章的需求分析,為了滿足用戶的需求,基于SSM框架的音頻分享平臺的主要功能有七個,音頻分享平臺的功能模塊如下圖1-2所示:不同的功能里有不同的操作內(nèi)容:登錄功能:用戶和管理員登錄。填寫賬號密碼用戶類型進(jìn)行登錄。注冊功能:用戶注冊。游客填寫相關(guān)信息注冊為用戶。收藏管理:點擊收藏,查看收藏,用戶收藏管理音頻,管理員后臺管理所有收藏信息。音頻功能:播放音頻。用戶可播放自己喜歡的音頻,管理員后臺音頻增刪改操作。榜單功能:榜單顯示。三種榜單顯示:分類榜單,最新榜單,最熱榜單。分類功能:不同音頻分類顯示。后臺音頻分類上傳,前臺上榜單分類顯示。搜索功能:搜索音頻。用戶可搜索音頻,管理員在后臺可根據(jù)需求搜索音頻。圖1-2平臺功能結(jié)構(gòu)3.2平臺功能模塊設(shè)計3.2.1榜單管理榜單管理模塊是音頻分享平臺的主體部分之一。根據(jù)用戶點擊數(shù)生成閱讀排行榜單,根據(jù)管理員發(fā)布時間生成最新發(fā)布榜單。不同分類的音頻在首頁以榜單的形式顯示,音樂庫和部分頁面有最熱音頻和最新音頻的榜單分部。3.2.2音頻管理音頻管理模塊主要負(fù)責(zé):管理員上傳一個完整的音頻,系統(tǒng)自動檢測音頻名稱自動檢測是否重名和超長,并提醒音頻,作者、簡介、封面圖的上傳。后臺音頻管理首頁默認(rèn)音頻的上傳時間進(jìn)行列表排序。音頻管理模塊是音頻分享平臺的核心,包括了管理員上傳音頻和用戶播放音頻收聽。用戶可點擊榜單的音頻進(jìn)入到對應(yīng)頁面進(jìn)行了解和收聽。3.2.3分類管理管理音頻的類別信息,通過音樂類別名稱可以進(jìn)行搜索,管理員可以在此頁面上編輯、新增、刪除操作。通過后臺管理員將音頻分類上傳,首頁會將音頻以不同類別榜單形式呈現(xiàn)出來。3.2.4音頻搜索音頻搜索是一個音樂網(wǎng)站的必要元素,按關(guān)鍵字查找音頻名稱,搜索結(jié)果頁面和音樂庫界面相似,點擊對應(yīng)的音頻名稱可以進(jìn)入對應(yīng)的音頻頁面。后臺的管理頁面均提供了搜索功能,方便管理員進(jìn)行管理。3.2.5收藏管理收藏模塊是普通用戶和游客最大的區(qū)別,普通用戶可以將自己喜歡的音頻進(jìn)行收藏管理。同樣為了方便管理,通過音頻名稱、用戶名可以進(jìn)行搜索,顯示所有用戶的收藏和收藏的音頻、收藏時間,管理員可進(jìn)行刪除操作。3.2.6登錄管理登錄模塊會在用戶選擇身份上進(jìn)行判斷和賬號、密碼是否匹配正確,如果匹配正確,用戶信息將顯示在主頁上,用戶可以執(zhí)行其他操作。如果匹配失敗,將提示用戶輸入的帳號和密碼錯誤。登錄成功后用戶可以修改密碼。按照不同用戶類型,平臺登錄成功跳轉(zhuǎn)到首頁,管理員跳轉(zhuǎn)到后臺管理。3.2.7注冊管理游客是網(wǎng)站用戶榜排行榜的底端,需要通過注冊模塊成為普通用戶進(jìn)而享受其他模塊服務(wù)。注冊是使游客變成一個普通用戶的唯一途徑,注冊模塊設(shè)計主要的任務(wù)是提示用戶填寫基本實現(xiàn)信息,將用戶數(shù)據(jù)信息添加到數(shù)據(jù)庫中。3.3數(shù)據(jù)設(shè)計數(shù)據(jù)庫是音頻分享平臺的核心部分之一,所有的信息都存儲在數(shù)據(jù)庫中,以實現(xiàn)所需的功能。選擇一個適合的數(shù)據(jù)庫是十分重要的,為了選擇合適的數(shù)據(jù)庫平臺,數(shù)據(jù)庫應(yīng)選擇符合下面要求:數(shù)據(jù)和程序相互獨立;數(shù)據(jù)庫可以在不同的操作系統(tǒng)下使用;冗余數(shù)據(jù)少,數(shù)據(jù)共享程度高;系統(tǒng)的用戶接口簡單;最好是免費開源的,沒有經(jīng)濟壓力;用戶容易掌握上手,使用方便。數(shù)據(jù)庫的概念進(jìn)行結(jié)構(gòu)優(yōu)化設(shè)計完后,可以將數(shù)據(jù)庫概念轉(zhuǎn)化成數(shù)據(jù)庫系統(tǒng)支持的邏輯結(jié)構(gòu)。使用實際的數(shù)據(jù)模型,可以直觀地看到數(shù)據(jù)庫中各個數(shù)據(jù)表中存儲的信息,如字段的名稱,類型,是否允許字段為空以及字段的描述。根據(jù)實體屬性及其產(chǎn)生的行為,從實際需要出發(fā),設(shè)計數(shù)據(jù)庫表和系統(tǒng)E-R圖,平臺E-R圖如圖1-4所示。圖1-4數(shù)據(jù)庫E-R圖游客可以注冊成為一個普通用戶,一個普通用戶可對音頻進(jìn)行多種操作,一個管理員可以管理多個普通用戶和音頻。

第四章音頻分享平臺實現(xiàn)4.1相關(guān)技術(shù)4.1.1SSM框架SSM是SpringMVC、Spring、Mybatis的簡寫。SSM是輕量級并且應(yīng)用較多的一種組合框架,好多中小型企業(yè)的門戶網(wǎng)站、政府網(wǎng)站、金融項目都是基于SSM架構(gòu)開發(fā)的;由于Spring是一個業(yè)務(wù)層的框架,能夠很好地整合表現(xiàn)層的SpringMVC框架和持久層的Mybatis框架;整合以后,Spring就會充當(dāng)整個應(yīng)用的工廠;首先整合Spring和Mybatis,Spring整合Mybatis最簡單的理解就是“把Mybatis數(shù)據(jù)源的配置、事務(wù)的管理、SqlSessionFactory的創(chuàng)建以及數(shù)據(jù)映射器接口Mapper的創(chuàng)建交由Spring管理”,所以Mybatis的配置文件mybatis-config.Xml中不需要再配置數(shù)據(jù)源及事務(wù),在業(yè)務(wù)層service實現(xiàn)時不需要手動地獲取SqlSession以及對應(yīng)的數(shù)據(jù)映射器接口Mapper,通過Spring的注入即可[7]。4.1.2Bootstrap框架Bootstrap就是一個已經(jīng)寫好了HTML和CSS的樣式組合,是一個容易上手、用于快速開發(fā)Web應(yīng)用程序和網(wǎng)站的前端框架。Bootstrap可以在所有的主流瀏覽器上運行,而且Bootstrap的響應(yīng)式CSS能夠自動適應(yīng)于臺式電腦、筆記本和手機等應(yīng)用。方便音頻分享網(wǎng)站頁面在不同平臺上的自動切換。在用戶使用體驗來說,出自大公司Twitter,做到了完全開源,減少用戶測試的工作量。Bootstrap框架中,各種命名都統(tǒng)一化和規(guī)范化,減少管理員日后的維護(hù)工作。網(wǎng)站頁面風(fēng)格統(tǒng)一,畫面和諧。4.1.3MySql數(shù)據(jù)庫MySql是一種關(guān)系型數(shù)據(jù)庫,將關(guān)聯(lián)數(shù)據(jù)保存在不同的數(shù)據(jù)庫表中,而不是全都擠在一起,提高了反應(yīng)速度。目前來說網(wǎng)站程序使用MySql數(shù)據(jù)庫較多,MySql可以與JAVA開發(fā)語言完美配合,對于新手開發(fā)者,MySql數(shù)據(jù)庫的免費開源、體積小、連接速度快的特點打動了新手開發(fā)者的內(nèi)心,是一個適合降低音頻分享平臺開發(fā)成本的數(shù)據(jù)庫。4.2數(shù)據(jù)庫實現(xiàn)1、頁面(authority)表頁面表主要用于保存各種頁面的基本信息,其屬性有用戶編號(id)、頁面名稱(name)、菜單序列號(menu_href)、菜單位置(menu_position)、序列號(serial_number),該表結(jié)構(gòu)如表3-1所示。表3-1authority字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號namevarchar64否用戶名serial_numberint11否序列號menu_hrefvarchar128否菜單序列號menu_positionvarchar8否菜單位置2、收藏(collect)表收藏表主要用于保存關(guān)于收藏功能的所有信息,其屬性有:用戶編號(id)、用戶收藏的音頻名(musuc_name)、收藏用戶id(user_id)、用戶名(user_name),收藏時間(creat_time)、收藏的音頻id(music_id),該表結(jié)構(gòu)如表3-2所示。表3-2collect字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號user_idbigint20否收藏用戶iduser_namevarchar16否收藏用戶名music_idbigint20否收藏的音頻idmusuc_namevarchar32否收藏是音頻名creat_timedatetime否收藏時間3、音頻(music)表音頻表主要用于保存音頻的所有信息,其屬性有:用戶編號(id)、音頻名稱(musuc_name)、創(chuàng)建時間(creat_time),文件路徑(file_path)、圖片路徑(cover_img),作者(author)、點擊數(shù)(click_count)、播放次數(shù)(play_count)、類型id(type_id)、更新時間(update_time)、簡介(summary),該表結(jié)構(gòu)如表3-3所示。表3-3music字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號namevarchar32否音頻名稱file_pathvarchar64否文件路徑creat_timedatetime否創(chuàng)建時間cover_imgvarchar64否圖片路徑authorvarchar32否作者click_countint11否點擊數(shù)play_countint11否播放次數(shù)type_idbigint20否類型idremarktext否評論update_timedatetime是更新時間summaryvarchar128否簡介4、音頻類別信息(musictype)表音頻類別信息表主要用于保存音頻的類別信息,其屬性有:用戶編號(id)、音頻類型名稱(name)、創(chuàng)建時間(creat_time)、更新時間(update_time),該表結(jié)構(gòu)如表3-4所示。表3-4musictype字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號namevarchar116否音頻類型名稱creat_timedatetime否創(chuàng)建時間update_timedatetime是更新時間5、用戶播放記錄(record)表用戶播放記錄表主要用于用戶播放音頻的所有信息,其屬性有:用戶編號(id)、姓名id(user_id)、姓名(user_name)、創(chuàng)建時間(creat_time)、音頻id(music_id)、音頻名稱(music_name)、播放次數(shù)(play_count),該表結(jié)構(gòu)如表3-5所示。表3-5record字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號user_idbigint20否姓名iduser_namevarchar16否姓名music_iddatetime20否音頻idmusic_namevarchar32否音頻名稱play_countint11否播放次數(shù)creat_timedatetime否創(chuàng)建時間6、角色(role)表角色表主要用于保存管理員和普通用戶的所有信息,其屬性有:用戶編號(id)、創(chuàng)建時間(creat_time)、用戶名(name),該表結(jié)構(gòu)如表3-6所示。表3-6role字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號namevarchar32否用戶名creat_timedatetime否創(chuàng)建時間7、用戶信息(user)表用戶信息表主要用于保存注冊的用戶信息,其屬性有:用戶編號(id)、用戶名(username)、創(chuàng)建時間(creat_time)、登錄密碼(password)、真實姓名(truename)、郵件信息(email)、更新時間(update_time)、用戶類型(role_id),該表結(jié)構(gòu)如表3-7所示。表3-7user字段名稱數(shù)據(jù)類型長度可否為空描述idbigint20否自動編號usernamevarchar32否用戶名passwordvarchar64否密碼truenamevarchar16否真實姓名create_timedatetime否創(chuàng)建時間update_timedatetime是更新時間emailvarchar32否郵件user_typevarchar8否用戶類型role_idbigint20否類型idauthority_idsvarchar16否4.3“登錄”功能的實現(xiàn)點擊登錄的時候系統(tǒng)會完成以下操作:去數(shù)據(jù)庫的user表里查是否有該用戶,判斷用戶的賬號、密碼、用戶類型是否匹配,如果賬號、密碼和用戶類型都正確,則跳轉(zhuǎn)到首頁。如果賬號密碼有錯誤,則會提示:用戶名/密碼有誤!用戶登錄的邏輯實現(xiàn)如表2-1。調(diào)用IUserService的saveOrUpdate接口,換取用戶標(biāo)識User,并匹配Username、RoleId、password,代碼如下表。表2-1用戶登錄的邏輯實現(xiàn)publicJsonViewDatalogin(Useruser){ UsertempUser=newUser(); tempUser.setUsername(user.getUsername()); tempUser.setRoleId(user.getRoleId()); if(iUserService.queryCount(tempUser)==0){ returnsetJsonViewData(ResultCode.FAIL,"用戶名/用戶類型有誤!"); } Subjectsubject=SecurityUtils.getSubject(); UsernamePasswordTokentoken=newUsernamePasswordToken(user.getUsername(), CryptographyUtil.md5(user.getPassword(),CryptographyUtil.SALT)); try{ //登錄驗證 subject.login(token); Map<String,Object>resultMap=Maps.newHashMapWithExpectedSize(1); resultMap.put("userType",user.getUserType()); returnsetJsonViewData(resultMap); }catch(Exceptione){ returnsetJsonViewData(ResultCode.FAIL,"用戶名/密碼有誤!"); } }圖3-1登錄實現(xiàn)效果頁面用戶點擊登錄后跳轉(zhuǎn)到登錄頁面,填寫姓名密碼,選擇用戶類型,成功登錄后跳轉(zhuǎn)到首頁,登錄實現(xiàn)效果頁面如圖3-1。4.4“注冊”功能的實現(xiàn)當(dāng)進(jìn)行注冊操作時,需要用戶輸入賬號密碼郵箱真實姓名,點擊注冊后,會調(diào)用Springboot的Controller對應(yīng)到的映射地址進(jìn)行注冊操作,這個操作實際上會去數(shù)據(jù)庫查詢用戶是否存在,如果用戶已經(jīng)存在則提示已經(jīng)存在;如果用戶不存在則會創(chuàng)建這個用戶,并且將進(jìn)行剛創(chuàng)建用戶設(shè)置為已登錄狀態(tài)并且跳轉(zhuǎn)到首頁的操作。游客注冊賬號,將user對象的RoleId、UserType、AuthorityIds、Password添加到數(shù)據(jù)庫中,注冊成功就調(diào)用iUserService的saveOrUpdate接口存放新增用戶信息,如表2-2。表2-2游客注冊的邏輯實現(xiàn)publicJsonViewDataregister(Useruser){ user.setRoleId(USER_TYPE_C_ID); user.setUserType(USER_TYPE_C); user.setAuthorityIds(DEFAULT_AUTHORITY_IDS); user.setPassword(CryptographyUtil.md5(user.getPassword(),CryptographyUtil.SALT)); booleansuccess=iUserService.saveOrUpdate(user); returnsuccess?setJsonViewData(ResultCode.SUCCESS):setJsonViewData(ResultCode.FAIL); }圖3-2注冊實現(xiàn)效果頁面游客進(jìn)入注冊頁面,填寫用戶名、真實姓名、聯(lián)系郵箱、密碼、確認(rèn)密碼,所有信息按規(guī)定填寫完畢后,成功注冊進(jìn)入首頁,注冊實現(xiàn)效果頁面如圖3-2。4.5“收藏”功能的實現(xiàn)收藏實現(xiàn):用戶收藏信息的管理操作,包括搜索、刪除信息等操作。會去collect表中查詢有無收藏過。管理員可在后臺進(jìn)行收藏管理。添加收藏:當(dāng)游客點擊添加收藏按鈕時,會提醒:您還沒有登錄,請先登錄!調(diào)用iMusicService的queryById接口查詢Id,判斷收藏的音頻不為空。調(diào)用iCollectService的queryCount接口,用獲取的UserId、MusicId判斷用戶有無收藏過。如果用戶已經(jīng)存在收藏過,則提示“您已經(jīng)收藏過該歌曲!”。沒有收藏則調(diào)用iCollectService的save接口把獲取的setUserName、setMusicName放到collect表中。表2-3是添加收藏的邏輯實現(xiàn)。表2-3添加收藏的邏輯實現(xiàn)publicJsonViewDatasave(Longid){ Set<String>fields=Sets.newHashSet("id","name"); Musicmusic=iMusicService.queryById(id,fields); if(BlankUtil.isBlank(music)){ returnsetJsonViewData(ResultCode.FAIL,"傳入的歌曲Id有誤!"); } Collectcollect=newCollect(); collect.setUserId(getCurrentUser().getId()); collect.setMusicId(music.getId()); if(iCollectService.queryCount(collect)>0){ returnsetJsonViewData(ResultCode.DUPLICATION,"您已經(jīng)收藏過該歌曲!"); } collect.setUserName(getCurrentUser().getTruename()); collect.setMusicName(music.getName()); booleansuccess=iCollectService.save(collect); returnsuccess?setJsonViewData(ResultCode.SUCCESS):setJsonViewData(ResultCode.FAIL); }圖3-3收藏管理實現(xiàn)效果頁面管理員成功登錄后臺,點擊收藏管理字體,進(jìn)入收藏管理頁面,頁面通過列表列出了所有用戶的收藏信息,包括序號、歌曲名稱、收藏時間、收藏用戶等信息。為方便管理員進(jìn)行收藏管理,提供了可根據(jù)歌曲名稱和用戶姓名進(jìn)行搜索,收藏管理實現(xiàn)效果頁面如圖3-3所示。4.6“音頻上傳”功能的實現(xiàn)音頻上傳:首先通過BlankUtil.isBlank判斷文件有無上傳,獲取上傳時的文件名,獲取文件擴展名(從"."開始,包含"."),獲取文件上傳的真實路徑,在/upload/下存放文件,返回文件訪問路徑,判斷上傳文件是否成功,表2-4為音頻上傳的邏輯實現(xiàn)。表2-4音頻上傳的邏輯實現(xiàn)publicJsonViewDatauploadImg(@RequestParam("file")MultipartFilefile){ try{ if(BlankUtil.isBlank(file)){ returnsetJsonViewData(ResultCode.PARAM_ERROR,"請?zhí)峁┬枰蟼鞯奈募。。?); } StringoriginalFileName=file.getOriginalFilename(); Stringext=originalFileName.substring(originalFileName.indexOf("."),originalFileName.length()); StringnewFileName=BlankUtil.randomUUID()+ext; //獲取文件上傳的真實路徑 StringrootPath=httpRequest.getSession().getServletContext().getRealPath(""); Stringpath="/upload/"+DateUtil.formatCurrentDate("yyyyMMdd"); FiledestFile=newFile(rootPath+path); if(!destFile.exists()){ destFile.mkdirs(); } file.transferTo(newFile(destFile+"/"+newFileName)); returnsetJsonViewData(path+"/"+newFileName); }catch(IllegalStateException|IOExceptione){ e.printStackTrace(); } returnsetJsonViewData(ResultCode.PARAM_ERROR); }圖3-4音頻上傳實現(xiàn)效果界面管理員進(jìn)入到音頻管理頁面,點擊新增按鈕進(jìn)入到音頻上傳頁面,填寫音樂名稱、演唱歌手、選擇音樂類別、選擇MP3文件上傳、填寫簡介、選擇圖片文件上傳,音頻上傳實現(xiàn)效果頁面如圖3-4。4.7“榜單”功能的實現(xiàn)一共有3種排行榜:第一種不同類別的排行榜。第二種按照音頻發(fā)布時間的排行榜。第三種按照點擊數(shù)排行。均顯示音頻名稱和發(fā)布時間。最新榜單:聲明set的參數(shù)fields、sortSet。IPage分頁有10首音頻顯示,初始化一個大小合適的map集合,調(diào)用iMusicService的queryList接口查詢歌曲列表,返回一個resultMap集合。按照click_count排序,調(diào)用iMusicService的queryList重新查詢歌曲列表,返回一個resultMap集合,表2-5是最新榜單的邏輯實現(xiàn)。表2-5最新榜單的邏輯實現(xiàn)publicJsonViewDatanewsestList(){ Set<String>fields=Sets.newHashSet("id","name","create_time"); Set<ISort>sortSet=Sets.newHashSet(newSorter("create_time",false)); IPagepage=newSimplePage(1,10); Map<String,Object>resultMap=Maps.newHashMapWithExpectedSize(2); List<Music>musicList=iMusicService.queryList(null,fields,sortSet,page);resultMap.put("newsestList",musicList);sortSet=Sets.newHashSet(newSorter("click_count",false));musicList=iMusicService.queryList(null,fields,sortSet,page);resultMap.put("hostList",musicList);returnsetJsonViewData(resultMap); }圖3-5閱讀排行榜單實現(xiàn)效果頁面用戶在首頁可看到閱讀排行榜單,榜單顯示10首音頻和音頻上傳時間,隨便點擊其中一首音頻,會自動跳轉(zhuǎn)到相應(yīng)音頻頁面,閱讀排行榜單實現(xiàn)效果頁面如圖3-5。4.8“音頻分類”功能的實現(xiàn)音頻類別的管理操作,包括類別信息的新增、編輯、刪除操作。管理員進(jìn)行音頻類型信息操作,musictype表中進(jìn)行相應(yīng)修改。音頻類別列表頁面:使用@RequestParam注解,加入默認(rèn)值。調(diào)用iMusicTypeService的queryCount接口獲取總類數(shù),聲明set的參數(shù)sortSet。音頻類別數(shù)為0返回一個空的List,調(diào)用iMusicTypeService的queryList接口,組裝分頁信息,最后把信息放入model轉(zhuǎn)發(fā)到頁面把信息帶過去。邏輯實現(xiàn)如表2-6所示。表2-6音頻分類頁面列表的邏輯實現(xiàn)publicModelAndViewcontentList(MusicTypemusicType, @RequestParam(value="pageNo",defaultValue="1")intpageNo){ inttotalCount=iMusicTypeService.queryCount(musicType); Set<ISort>sortSet=Sets.newHashSet(newSorter("create_time",false)); IPagepage=newSimplePage(pageNo,pageSize); List<MusicType>codeList=totalCount==0?Collections.EMPTY_LIST: iMusicTypeService.queryList(musicType,null,sortSet,page); this.createPageVo(pageNo,pageSize,totalCount); ModelAndViewmav=newModelAndView(); mav.addObject("datalist",codeList); mav.setViewName("back/musicType/contextlist"); returnmav; }圖3-6音頻類別實現(xiàn)效果頁面管理員點擊音頻類別管理字體,進(jìn)入到對應(yīng)的頁面,該頁面通過列表列出已添加的類別信息,包括序號、類別名稱、創(chuàng)建時間、更新時間。為了方便管理員編輯修改,頁面有提供搜索框,可根據(jù)音樂類別名稱進(jìn)行搜索。點擊列表的刪除按鈕,實現(xiàn)類別信息的刪除操作。音頻類別實現(xiàn)效果頁面如圖3-6。4.9“搜索”功能的實現(xiàn)搜索功能的實現(xiàn),前臺用戶可根據(jù)關(guān)鍵字搜索音頻,后臺管理員可根據(jù)需求在管理頁面搜索音頻,方便操作管理。音頻搜索實現(xiàn):調(diào)用iMusicService的queryCount接口查詢歌曲列表數(shù),根據(jù)create_time進(jìn)行排序,根據(jù)關(guān)鍵字查詢,得到結(jié)果后顯示相應(yīng)頁面,邏輯實現(xiàn)如表2-6所示。表2-6音頻搜索頁面列表的邏輯實現(xiàn)@RequestMapping(value="/list") publicModelAndViewlist(Musicmusic, @RequestParam(value="pageNo",defaultValue="1")intpageNo){ inttotalCount=iMusicService.queryCount(music); Set<ISort>sortSet=Sets.newHashSet(newSorter("create_time",false)); IPagepage=newSimplePage(pageNo,pageSize); List<Music>musicList=totalCount==0?Collections.EMPTY_LIST: iMusicService.queryList(music,null,sortSet,page); StringBufferparam=newStringBuffer(); if(!BlankUtil.isBlank(music.getName())){ param.append("title="+music.getName()+"&"); } if(!BlankUtil.isBlank(music.getTypeId())){ param.append("typeId="+music.getTypeId()+"&"); } ModelAndViewmav=newModelAndView(); mav.addObject("datalist",musicList); mav.addObject("pageCode",PageUtil.genPagination(httpRequest.getContextPath()+"/music/list.html", totalCount,pageNo,pageSize,param.toString())); mav.addObject("pageTitle","音頻庫-HHS音頻網(wǎng)"); mav.setViewName("fore/music/index"); returnmav; }圖3-6音頻搜索實現(xiàn)效果頁面用戶在導(dǎo)航欄最右邊輸入關(guān)鍵字搜索音頻,按照關(guān)鍵字顯示對應(yīng)音頻,搜索音頻實現(xiàn)效果頁面如圖3-6。

第五章音頻分享平臺測試5.1測試的目的及原則為了能更好的來使用音頻分享平臺,要對網(wǎng)站里的每一個模塊進(jìn)行一個相應(yīng)的測試,測試的目的是為了及時發(fā)現(xiàn)系統(tǒng)中的隱藏缺陷,分析缺陷產(chǎn)生的原因,并找到對癥下藥的方式來補償,為此該系統(tǒng)也達(dá)到了相對穩(wěn)定狀態(tài),減少了失誤,盡可能減少不必要的經(jīng)濟損失。黑盒測試偏重測試軟件的功能需求,考慮到時間因素,音頻分享平臺以黑盒測試作為主要測試方法。5.2測試環(huán)境系統(tǒng):微軟window10:設(shè)備:DellInspiron7460服務(wù)器:ApacheTomcat7瀏覽器:IE瀏覽器和360瀏覽器5.3測試用例黑盒測試以用戶的角度,是在程序連接上進(jìn)行的測試。各個模塊測試用例如下:測試管理員登錄功能用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1管理員登錄測試檢測音頻分享平臺的管理員是否能正常登錄。輸入:賬號:HHS;密碼:123456點擊登錄。啟動了音頻平臺,并且登錄成功,跳轉(zhuǎn)到后臺管理主窗體。成功(2)測試用戶注冊功能用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1用戶注冊測試檢測音頻分享平臺游客是否能正常注冊為普通用戶。填寫用戶名,真實姓名、聯(lián)系郵箱、密碼,確認(rèn)密碼等個人信息。注冊成功成功(3)測試收藏功能用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1收藏測試檢測普通用戶音頻能否收藏音頻。點擊添加收藏按鈕,在我的收藏頁面看到收藏的音頻。收藏成功成功(4)測試榜單功能用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1最新榜單測試檢測上傳音頻后能否出現(xiàn)在最新榜單。上傳音頻,回到首頁,看到音頻出現(xiàn)在榜單上。上傳成功成功(5)音頻模塊測試用例用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1音頻模塊上傳音頻測試用管理員身份是否可以正常上傳音頻。進(jìn)入后臺管理界面,點擊音頻管理的新增按鈕進(jìn)入頁面,按步驟上傳音頻,點擊上傳。返回音頻管理界面看到剛才上傳的音頻。成功(6)音頻分類測試用例用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1音頻分類測試能否新增音頻分類。使用管理員身份進(jìn)入分類管理頁面,點擊新增,在彈窗寫上新增音頻分類。分類管理頁面顯示剛才新增的音頻分類。成功(7)音頻搜索測試用例用例編號用例名稱測試功能操作預(yù)期效果結(jié)果1搜索音頻名稱內(nèi)容測試搜索音頻姓名、作者內(nèi)包含的內(nèi)容是否能搜索到對應(yīng)的音頻。在搜索欄輸入小王子后點擊搜索。顯示小王子的音頻介紹。成功5.4測試報告本次運用了黑盒測試方法,測試音頻分享平臺的各個功能和頁面是否存在問題,得到了以下測試報告。(1)音頻分享平臺頁面風(fēng)格簡約,字體符合規(guī)范;能夠正確的接收輸入數(shù)據(jù)并且輸出正確的結(jié)果;(2)可用性測試中平臺操作方便,用戶管理界面友好,目前無出現(xiàn)bug;(3)功能測試用例中登錄功能正常、注冊功能正常、播放音頻功能正常、收藏功能正常、發(fā)表音頻功能正常、修改功能正常等功能均正常;(4)音頻分享平臺所有的鏈接按指示確實鏈接到指定頁面;鏈接的頁面都存在,沒有空鏈接;沒有孤立的頁面,平臺上沒有死鏈接。

第六章總結(jié)與展望本文主要研究了基于SSM框架的音頻分享平臺的設(shè)計與實現(xiàn)。在進(jìn)行開發(fā)設(shè)計前,首先對音頻分享平臺和SSM技術(shù)的現(xiàn)狀進(jìn)行研究分析,完成技術(shù)選擇。接著分析音頻分享平臺的功能需求、可行性需求和數(shù)據(jù)需求分析。重點研究并設(shè)計音頻分享平臺的功能架構(gòu)和平臺功能的實現(xiàn)。本文第一章主要介紹了音頻分享平臺的研究背景及平臺和SSM技術(shù)的現(xiàn)狀。第二章主要針對音頻分享平臺的需求進(jìn)行分析。在這次的系統(tǒng)開發(fā)前期,在網(wǎng)上查閱了大量的與音頻網(wǎng)站設(shè)計與實現(xiàn)有關(guān)的信息,觀察了其他發(fā)展成熟音頻網(wǎng)站的運行管理模式,并進(jìn)行了實際的操作,切實了解音頻

溫馨提示

  • 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

提交評論