下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、物聯(lián)網(wǎng)移動(dòng)應(yīng)用 開發(fā)課程設(shè)計(jì)題目 音樂播放器設(shè)計(jì)班 級(jí) 物聯(lián)網(wǎng)1303學(xué)號(hào)2姓名 牟俊強(qiáng)指導(dǎo)老師2016年 6 月 25 日1. 項(xiàng)目需求當(dāng)今社會(huì)的生活節(jié)奏越來越快, 人們對(duì)手機(jī)的要求也越來越高, 由于手機(jī)市場(chǎng)發(fā)展迅速, 使得手機(jī)操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場(chǎng)上主要有三個(gè)手機(jī)操作系統(tǒng),Windowsmobile , symbian ,以及谷歌的 Android 操作系統(tǒng),其中占有開放源代碼優(yōu)勢(shì)的 Android 系統(tǒng)有最大的發(fā)展前景。 那么能否在手機(jī)上擁有自己編寫的個(gè)性音樂播放器呢?能的, 谷歌 Android 系統(tǒng)就能做到。 本文的音樂播放器就是基于谷歌 Android 手機(jī)平臺(tái)的播放
2、器。Android : 是谷歌于 2007 年公布的開放式源代碼手機(jī)系統(tǒng), 它的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng), 因此, 任何人都可能根據(jù)自己的喜好將手機(jī)系統(tǒng)中的所有功能重新編寫。 這使得越來越多的人關(guān)注這個(gè)操作系統(tǒng)。 本次作品音樂播放器就是基于 Android 平臺(tái)的。現(xiàn)今社會(huì)生活緊張, 而欣賞音樂是其中最好的舒緩壓力的方式之一, 本項(xiàng)目的目的是開發(fā)一個(gè)可以播放主流音樂文件格式的播放器,本設(shè)計(jì)實(shí)現(xiàn)的主要功能是播放Mp3, Wav多種格式的音樂文件,并且能夠控制播放,暫停,停止,播放列等基本播放控制功能,界面簡(jiǎn)明,操作簡(jiǎn)單。本項(xiàng)目是一款基于 Android 手機(jī)平臺(tái)的音樂播放器, 使Andr
3、oid 手機(jī)擁有個(gè)性的多媒體播放器, 使手機(jī)顯得更生動(dòng)靈活化, 與人們更為接近, 讓手機(jī)主人隨時(shí)隨地處于音樂視頻的旋律之中。 使人們的生活更加多樣化。 也使設(shè)計(jì)者更加熟練 Android 的技術(shù)和其它在市場(chǎng)上的特點(diǎn)。開發(fā)環(huán)境Eclipse、Android SDK 系統(tǒng)需求分析功能需求(用例圖分析)根據(jù)項(xiàng)目的目標(biāo),我們可獲得項(xiàng)目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述, 系統(tǒng)的功能需求,我們分成四部分來概括,即播放器的基本 控制需要,播放列表管理需求,播放器友好性需求和播放器 擴(kuò)展卡需求。以下分別描述:播放器的用例圖假設(shè)安裝了音樂播放器的用戶是系統(tǒng)的主要設(shè)計(jì)對(duì)象, 其
4、擁有以下操作,啟動(dòng)軟件、播放音樂、暫停播放、停止播 放、退出軟件,其用例圖如下圖 播放器基本用例圖用例分析用例名稱:?jiǎn)?dòng)軟件參與者:用戶目標(biāo):使得用戶啟動(dòng)軟件并加載手機(jī)和 sd卡上的音頻文件到播放列表 前置條件:無基本事件流:1.用戶啟動(dòng)軟件2.播放器將播放列表中的當(dāng)前的歌曲用例名稱:播放參與者:用戶目標(biāo):使得用戶可以播放在播放列表中選中的歌曲 前置條件:播放器正在運(yùn)行基本事件流:1.用戶單擊“播放”按鈕2.播放器將播放列表中的當(dāng)前的歌曲用例名稱:暫停參與者:用戶目標(biāo):使得用戶可以暫停正在播放的歌曲 前置條件:歌曲正在播放且未停止和暫停 基本事件流:1.用戶單擊“暫?!卑粹o2.播放器將暫停當(dāng)前
5、的歌曲用例名稱:停止參與者:用戶目標(biāo):使得用戶可以停止正在播放的歌曲前置條件:歌曲正在播放或暫?;臼录鳎?.用戶單擊“停止”按鈕2.播放器將停止當(dāng)前播放的歌曲用例名稱:退出參與者:用戶目標(biāo):使得用戶退出或者后臺(tái)播放音樂前置條件:程序在運(yùn)行基本事件流:1.用戶按返回鍵2.播放器退出或者進(jìn)入后臺(tái)播放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)擊退出。暫停/退出軟件圖音
6、樂播放器流程圖4 .界面展示軟件部署系統(tǒng)編譯生成apk文件,將apk文件拷到手機(jī)或者sd 卡中,直接打開即可安裝啟動(dòng)軟件打開軟件后的界面歌曲列表界面歌曲列表界面播放界面5. 部分源代碼以下給出功能實(shí)現(xiàn)代碼, 布局, 風(fēng)格等代碼量過大, 放在壓縮文件中文件夾顯示文件如圖所示播放器頁(yè)面布局代碼如下 <LinearLayout xmlns:android =""android:orientation ="vertical"android:layout_width="fill_parent"android:layout_height =
7、"fill_parent"android:background="drawable/tupian"<ListViewandroid:id="+id/android:list"android:layout_width ="fill_parent"android:layout height="200dip"android:layout_weight="1"android:drawSelectorOnTop="false"/><SeekBara
8、ndroid: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
9、 ="wrap_content"android:layout_width="fill_parent"android:id="+id/currentProgress"/><TextViewandroid:layout_height ="wrap_content" android:layout_width="fill_parent"android:id="+id/curtimeandtotaltime"/><LinearLayoutandroid:orie
10、ntation="horizontal"android:layout_width ="fill_parent"android:layout_height="wrap_content"><ImageButtonandroid:id ="+id/front_button" android:layout_width ="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft=&
11、quot;10dip"android:background="drawable/first1"/><ImageButtonandroid:id ="+id/stop_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="drawable/stop1"android:layout_marginLeft="10dip"
12、/><ImageButtonandroid:id ="+id/start_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="drawable/start1"android:layout_marginLeft="10dip"/> <ImageButtonandroid:id="+id/pause_button"
13、android:layout_width="wrap_content"android:layout_height="wrap_content"android:background ="drawable/pose1'android:layout_marginLeft="10dip"/><ImageButtonandroid:id="+id/next_button"android:layout_width="wrap_content"android:layout_hei
14、ght="wrap_content"android:background ="drawable/next1"android:layout_marginLeft="10dip"/></ LinearLayout ></ LinearLayout >代碼如下importclass MainActivityextends ListActivity private ImageButton mFrontImageButton = null; private ImageButton mStopImageButton
15、= null; private ImageButton mStartImageButton = null; private ImageButton mPauseImageButton = null; private ImageButton mNextImageButton = null;/*定義進(jìn)度handler ,顯示百分比進(jìn)度*/ Handler mPercentHandler = new Handler。;private SeekBar mSeekBar=null;private TextView curProgressText=null;private TextView curtime
16、AndTotaltime=null;public MediaPlayer mMediaPlayer;private List<String> mMusicList = new ArrayList<String>();private int currentListItem = 0;private static final String MUSIC_PATH = new String("/sdcard/");OverridepublicvoidonCreate(BundlesavedInstanceState) (savedInstanceState);
17、setContentView musicList();mMediaPlayer = new MediaPlayer();initmFrontMusic();initStopMusic();initStartMusic();initPauseMusic();initNextMusic();initSeekBar();public void initmFrontMusic() mFrontImageButton(ImageButton)findViewById(newOnClickListener()public void onClick(View arg0) if(-currentListIte
18、m >= 0) currentListItem = ();elseplayMusic(MUSIC_PATH(currentListItem););public void initStopMusic()mStopImageButton(ImageButton)findViewById(newOnClickListener()public void onClick(View arg0) if()(););public void initStartMusic()mStartImageButton(ImageButton)findViewById(newOnClickListener()publ
19、ic void onClick(View arg0) playMusic(MUSIC_PATH(currentListItem);startSeekBarUpdate(););public void initPauseMusic()mPauseImageButton(ImageButton)findViewById(newOnClickListener()public void onClick(View arg0) if()();else(););public void initNextMusic() mNextImageButton (ImageButton)findViewById(new
20、OnClickListener()public void onClick(View arg0) nextMusic(); );public void initSeekBar()/* 初始化拖動(dòng)條和當(dāng)前進(jìn)度顯示值*/mSeekBar=(SeekBar)findViewById curProgressText=(TextView)findViewById curtimeAndTotaltime=(TextView)findViewById(new OnSeekBarChangeListener() public void onProgressChanged(SeekBar seekBar, int
21、 progress,boolean fromUser) /* 如果拖動(dòng)進(jìn)度發(fā)生改變,則顯示當(dāng)前進(jìn)度值 */(" 當(dāng)前進(jìn)度 : " + progress);publicvoidonStartTrackingTouch(SeekBar arg0) (" 拖動(dòng)中 .");publicvoidonStopTrackingTouch(SeekBar arg0) int dest = ();int mMax = ();int sMax = ();(mMax*dest/sMax););private void playMusic(String path)try ();
22、(path);();();(new OnCompletionListener()publicvoidonCompletion(MediaPlayer arg0) nextMusic(););catch (IOException e) ();private void nextMusic()if(+currentListItem >= ()currentListItem = 0; elseplayMusic(MUSIC_PATH+(currentListItem); Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) if(keyCode = ();();return (keyCode, event);Overrideprotected void onListItemClick(ListVi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)綜合體電氣安裝協(xié)議
- 水上樂園建設(shè)圍擋施工協(xié)議
- 照明廠建設(shè)項(xiàng)目擋墻施工合同
- 商鋪改造物業(yè)合同
- 2024品牌授權(quán)使用合同標(biāo)的及授權(quán)范圍
- 餐飲服務(wù)招投標(biāo)資質(zhì)審核制度
- 建筑工程許可施工合同協(xié)議書
- 大型醫(yī)院藥品升降機(jī)租賃合同
- 課程設(shè)計(jì)工作紙
- 印刷公司人事經(jīng)理招聘協(xié)議
- 德語(yǔ)語(yǔ)音課件
- 物業(yè)管理組織機(jī)構(gòu)框架圖
- 復(fù)合材料 第八章 先進(jìn)復(fù)合材料課件
- 河北省張家口市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 六年級(jí)美術(shù)上冊(cè)第13課生活與科幻課件1浙美版
- 暮光之城 英文介紹
- 六年級(jí)英語(yǔ)Module-4-The-natural-world-Unit-11-Trees-The-bird-and-the-tree市級(jí)優(yōu)質(zhì)課課件
- 氣管切開術(shù)Tracheotomy課件
- 應(yīng)變超聲心動(dòng)圖
- 船用火災(zāi)報(bào)警控制器使用說明書20230801v11
- 工程建設(shè)中地形圖的應(yīng)用(DOC)
評(píng)論
0/150
提交評(píng)論