![安卓音樂播放器_第1頁](http://file4.renrendoc.com/view/52a73056b52e62e8eac05f59db9d4e1c/52a73056b52e62e8eac05f59db9d4e1c1.gif)
![安卓音樂播放器_第2頁](http://file4.renrendoc.com/view/52a73056b52e62e8eac05f59db9d4e1c/52a73056b52e62e8eac05f59db9d4e1c2.gif)
![安卓音樂播放器_第3頁](http://file4.renrendoc.com/view/52a73056b52e62e8eac05f59db9d4e1c/52a73056b52e62e8eac05f59db9d4e1c3.gif)
![安卓音樂播放器_第4頁](http://file4.renrendoc.com/view/52a73056b52e62e8eac05f59db9d4e1c/52a73056b52e62e8eac05f59db9d4e1c4.gif)
![安卓音樂播放器_第5頁](http://file4.renrendoc.com/view/52a73056b52e62e8eac05f59db9d4e1c/52a73056b52e62e8eac05f59db9d4e1c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)》課程設(shè)計(jì)題目班級學(xué)號姓名指導(dǎo)老師2016年6月25日
1.項(xiàng)目需求當(dāng)今社會(huì)的生活節(jié)奏越來越快,人們對手機(jī)的要求也越來越高,由于手機(jī)市場發(fā)展迅速,使得手機(jī)操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場上主要有三個(gè)手機(jī)操作系統(tǒng),Windowsmobile,symbian,以及谷歌的Android操作系統(tǒng),其中占有開放源代碼優(yōu)勢的Android系統(tǒng)有最大的發(fā)展前景。那么能否在手機(jī)上擁有自己編寫的個(gè)性音樂播放器呢?能的,谷歌Android系統(tǒng)就能做到。本文的音樂播放器就是基于谷歌Android手機(jī)平臺的播放器。Android:是谷歌于2007年公布的開放式源代碼手機(jī)系統(tǒng),它的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng),因此,任何人都可能根據(jù)自己的喜好將手機(jī)系統(tǒng)中的所有功能重新編寫。這使得越來越多的人關(guān)注這個(gè)操作系統(tǒng)。本次作品音樂播放器就是基于Android平臺的。現(xiàn)今社會(huì)生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一,本項(xiàng)目的目的是開發(fā)一個(gè)可以播放主流音樂文件格式的播放器,本設(shè)計(jì)實(shí)現(xiàn)的主要功能是播放Mp3,Wav多種格式的音樂文件,并且能夠控制播放,暫停,停止,播放列等基本播放控制功能,界面簡明,操作簡單。本項(xiàng)目是一款基于Android手機(jī)平臺的音樂播放器,使Android手機(jī)擁有個(gè)性的多媒體播放器,使手機(jī)顯得更生動(dòng)靈活化,與人們更為接近,讓手機(jī)主人隨時(shí)隨地處于音樂視頻的旋律之中。使人們的生活更加多樣化。也使設(shè)計(jì)者更加熟練Android的技術(shù)和其它在市場上的特點(diǎn)。開發(fā)環(huán)境Eclipse、AndroidSDK系統(tǒng)需求分析功能需求(用例圖分析)根據(jù)項(xiàng)目的目標(biāo),我們可獲得項(xiàng)目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,我們分成四部分來概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴(kuò)展卡需求。以下分別描述:播放器的用例圖假設(shè)安裝了音樂播放器的用戶是系統(tǒng)的主要設(shè)計(jì)對象,其擁有以下操作,啟動(dòng)軟件、播放音樂、暫停播放、停止播放、退出軟件,其用例圖如下圖播放器基本用例圖用例分析用例名稱:啟動(dòng)軟件參與者:用戶目標(biāo):使得用戶啟動(dòng)軟件并加載手機(jī)和sd卡上的音頻文件到播放列表前置條件:無基本事件流:1.用戶啟動(dòng)軟件2.播放器將播放列表中的當(dāng)前的歌曲用例名稱:播放參與者:用戶目標(biāo):使得用戶可以播放在播放列表中選中的歌曲前置條件:播放器正在運(yùn)行基本事件流:1.用戶單擊“播放”按鈕2.播放器將播放列表中的當(dāng)前的歌曲用例名稱:暫停參與者:用戶目標(biāo):使得用戶可以暫停正在播放的歌曲前置條件:歌曲正在播放且未停止和暫?;臼录鳎?.用戶單擊“暫?!卑粹o2.播放器將暫停當(dāng)前的歌曲用例名稱:停止參與者:用戶目標(biāo):使得用戶可以停止正在播放的歌曲前置條件:歌曲正在播放或暫?;臼录鳎?.用戶單擊“停止”按鈕2.播放器將停止當(dāng)前播放的歌曲用例名稱:退出參與者:用戶目標(biāo):使得用戶退出或者后臺播放音樂前置條件:程序在運(yùn)行基本事件流:1.用戶按返回鍵2.播放器退出或者進(jìn)入后臺播放3.概要設(shè)計(jì)軟件播放流程圖Step1.啟動(dòng)軟件后,軟件自動(dòng)檢索手機(jī)和sd卡的音頻文件,并組織顯示成列表.Step2.點(diǎn)擊列表的歌曲名字。Step3.播放音樂。Step4.點(diǎn)擊暫停,音樂暫停Step5.點(diǎn)擊播放轉(zhuǎn)到step3Step6.點(diǎn)擊停止停止播放音樂Step7.點(diǎn)擊退出。啟動(dòng)軟件自動(dòng)檢索手機(jī)中的音樂文件,并顯示自動(dòng)檢索手機(jī)中的音樂文件,并顯示選擇歌曲,點(diǎn)擊播放暫停暫停/退出軟件圖音樂播放器流程圖4.界面展示軟件部署系統(tǒng)編譯生成apk文件,將apk文件拷到手機(jī)或者sd卡中,直接打開即可安裝。啟動(dòng)軟件打開軟件后的界面歌曲列表界面歌曲列表界面播放界面5.部分源代碼以下給出功能實(shí)現(xiàn)代碼,布局,風(fēng)格等代碼量過大,放在壓縮文件中文件夾顯示文件如圖所示播放器頁面布局代碼如下<LinearLayoutxmlns:android=""android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@drawable/tupian"> <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="200dip" android:layout_weight="1" android:drawSelectorOnTop="false" /> <SeekBarandroid:id="@+id/SeekBar01"android:layout_height="wrap_content"android:layout_width="fill_parent"android:max="100"android:progress="0"android:secondaryProgress="0"android:visibility="visible"/><TextViewandroid:layout_height="wrap_content"android:layout_width="fill_parent"android:id="@+id/currentProgress"/><TextViewandroid:layout_height="wrap_content"android:layout_width="fill_parent"android:layout_y="300dp"android:id="@+id/curtimeandtotaltime"/> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageButton android:id="@+id/front_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:background="@drawable/first1"/> <ImageButton android:id="@+id/stop_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/stop1" android:layout_marginLeft="10dip" /> <ImageButton android:id="@+id/start_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/start1" android:layout_marginLeft="10dip" /> <ImageButton android:id="@+id/pause_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/pose1" android:layout_marginLeft="10dip" /> <ImageButton android:id="@+id/next_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/next1" android:layout_marginLeft="10dip" /> </LinearLayout></LinearLayout>代碼如下importclassMainActivityextendsListActivity{ privateImageButtonmFrontImageButton=null; privateImageButtonmStopImageButton=null; privateImageButtonmStartImageButton=null; privateImageButtonmPauseImageButton=null; privateImageButtonmNextImageButton=null; /*定義進(jìn)度handler,顯示百分比進(jìn)度*/ HandlermPercentHandler=newHandler(); privateSeekBarmSeekBar=null; privateTextViewcurProgressText=null; privateTextViewcurtimeAndTotaltime=null; publicMediaPlayermMediaPlayer; privateList<String>mMusicList=newArrayList<String>(); privateintcurrentListItem=0; privatestaticfinalStringMUSIC_PATH=newString("/sdcard/"); @OverridepublicvoidonCreate(BundlesavedInstanceState){(savedInstanceState);setContentViewmusicList();mMediaPlayer=newMediaPlayer();initmFrontMusic();initStopMusic();initStartMusic();initPauseMusic();initNextMusic();initSeekBar();} publicvoidinitmFrontMusic() { mFrontImageButton=(ImageButton)findViewById (newOnClickListener(){ publicvoidonClick(Viewarg0){ if(--currentListItem>=0){ currentListItem=(); }else{ playMusic(MUSIC_PATH+(currentListItem)); } } }); } publicvoidinitStopMusic() { mStopImageButton=(ImageButton)findViewById (newOnClickListener(){ publicvoidonClick(Viewarg0){ if()) { (); } } }); } publicvoidinitStartMusic() { mStartImageButton=(ImageButton)findViewById (newOnClickListener(){ publicvoidonClick(Viewarg0){ playMusic(MUSIC_PATH+(currentListItem)); startSeekBarUpdate(); } }); } publicvoidinitPauseMusic() { mPauseImageButton=(ImageButton)findViewById (newOnClickListener(){ publicvoidonClick(Viewarg0){ if()){ (); } else{ (); } } }); } publicvoidinitNextMusic() { mNextImageButton=(ImageButton)findViewById (newOnClickListener(){ publicvoidonClick(Viewarg0){ nextMusic(); } }); } publicvoidinitSeekBar() { /*初始化拖動(dòng)條和當(dāng)前進(jìn)度顯示值*/mSeekBar=(SeekBar)findViewByIdcurProgressText=(TextView)findViewByIdcurtimeAndTotaltime=(TextView)findViewById (newOnSeekBarChangeListener(){ publicvoidonProgressChanged(SeekBarseekBar,intprogress, booleanfromUser){ /*如果拖動(dòng)進(jìn)度發(fā)生改變,則顯示當(dāng)前進(jìn)度值*/ ("當(dāng)前進(jìn)度:"+progress); } publicvoidonStartTrackingTouch(SeekBararg0){ ("拖動(dòng)中..."); } publicvoidonStopTrackingTouch(SeekBararg0){ intdest=(); intmMax=(); intsMax=(); (mMax*dest/sMax); } }); } privatevoidplayMusic(Stringpath) { try{ (); (path); (); (); (newOnCompletionListener(){ publicvoidonCompletion(MediaPlayerarg0){ nextMusic(); } }); }catch(IOExceptione){ (); } } privatevoidnextMusic() { if(++currentListItem>=()) { currentListItem=0; } else { playMusic(MUSIC_PATH+(currentListItem)); } } @Override publicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode=={ (); ();} return(keyCode,event); } @Override protectedvoidonListItemClick(ListViewl,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司工資薪酬合同范本
- 農(nóng)業(yè)園區(qū)合同范本
- 2025年度新能源研發(fā)合作投資協(xié)議書范本
- 2025年供用電合同范本(電力工程設(shè)計(jì))
- 2024-2025年中國雙攝像頭手機(jī)市場運(yùn)行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報(bào)告
- 2025年度智慧農(nóng)業(yè)科技合作型合同型聯(lián)營協(xié)議
- 2025-2030年中國桐木門項(xiàng)目投資可行性研究分析報(bào)告
- 中國桑蠶養(yǎng)殖行業(yè)發(fā)展?jié)摿︻A(yù)測及投資戰(zhàn)略研究報(bào)告
- 入團(tuán)申請書600初三
- 2025年度食品級玻璃罐體定制加工與檢測合同
- 周口2024年河南周口市公安機(jī)關(guān)招聘輔警458人筆試歷年參考題庫附帶答案詳解
- 《頭面部穴位按摩》課件
- 2024美團(tuán)簡化版商家合作合同標(biāo)準(zhǔn)文本一
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 《休閑食品加工技術(shù)》 課件 1 休閑食品生產(chǎn)與職業(yè)生活
- 公司安全生產(chǎn)事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)工作制度
- 汶川地震災(zāi)后恢復(fù)重建生產(chǎn)力布局和產(chǎn)業(yè)調(diào)整專項(xiàng)規(guī)劃
- 教師專業(yè)發(fā)展與職業(yè)生涯規(guī)劃優(yōu)秀課件
- 稅務(wù)師事務(wù)所收費(fèi)標(biāo)準(zhǔn)
- 電力工程施工單位如何提升管理辦法
- 商場撤場申請書
評論
0/150
提交評論