九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

簡易音樂播放器報告

  • 資源ID:36469880       資源大?。?span id="24d9guoke414" class="font-tahoma">714.43KB        全文頁數(shù):18頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

簡易音樂播放器報告

音樂播放器報告書 項目名稱:簡易音樂播放器 小組編號:E 小組成員:郭元坤、邊東東、 牛孟強(qiáng)、邢棕、王超 目錄第1章 項目組詳情1第2章 系統(tǒng)需求分析12.1 功能需求12.1.1 播放器的基本控制需求12.1.2 功能需求分析22.2 系統(tǒng)結(jié)構(gòu)圖和流程圖22.3 系統(tǒng)界面需求3第3章 詳細(xì)設(shè)計33.1 界面設(shè)計33.1.1 播放器的進(jìn)入界面33.1.2 播放器主界面63.2 功能實現(xiàn)73.2.1 播放器音軌的實現(xiàn)73.2.2 播放器播放、暫停等功能83.2.3 數(shù)據(jù)共享機(jī)制10第4章 總結(jié)12第1章 項目組詳情E組:組長:郭元坤組員:邊東東、牛孟強(qiáng)、邢棕、王超小組成員分工情況:組長郭元坤主要研究音樂播放器系統(tǒng)的需求分析兼讀取SD信息中的.mp3文件開發(fā)。而其它功能實現(xiàn)是由邊東東、牛孟強(qiáng)、邢棕、王超來實現(xiàn)的。其各自的負(fù)責(zé)的主要分工如下:邊東東:音樂播放界面和音樂的播放、暫停、上一曲、下一曲,音軌是由我們和邊東東、牛孟強(qiáng)實現(xiàn)的。牛孟強(qiáng):把從SD卡中讀取到的.mp3文件通過列表的方式顯示在主頁上,還有菜單功能的實現(xiàn)。包括退出功能和搜索音樂文件功能邢棕和王超:主要負(fù)責(zé)音樂播放器系統(tǒng)的“設(shè)置”界面和功能實現(xiàn),包括歌詞圖片的下載和顯示還實現(xiàn)了定時退出的功能。第2章 系統(tǒng)需求分析2.1 功能需求2.1.1 播放器的基本控制需求根據(jù)項目的目標(biāo),我們們可獲得項目系統(tǒng)的基本需求,一下從不同的角度來描述系統(tǒng)的需求,并且使用用戶用例圖來描述,系統(tǒng)的功能需求,我們們分成兩部分來概括,即播放器的基本控制需要,播放器友好界面需求。播 放暫停停止上一曲下一曲在播放器正在運行時,用戶單擊“播放”按鈕,播放器將播放選中的播放列表中的音樂,并同時顯示當(dāng)前進(jìn)度;當(dāng)歌曲未暫?;蛲V箷r,用戶單擊“暫?!卑粹o,播放器將進(jìn)行暫停狀態(tài);播放器正在播放或暫停時,用戶單擊“停止”按鈕,播放器將停止播放或暫停時,用戶點擊“上一首”或者“下一首”按鈕,播放器將播放上一首或下一首歌曲。2.1.2 功能需求分析從時序圖中可以看出播放器中信息發(fā)送和調(diào)用過程主界面點擊進(jìn)入按鈕播放列表后臺service播放界面選擇歌曲播放播放service播進(jìn)入放列表播放頁面發(fā)送參數(shù),調(diào)用后臺service播放,返回播放2.1.3 系統(tǒng)結(jié)構(gòu)圖和流程圖主界面進(jìn)入播放頁面播放列表是否點擊要播放的歌曲音樂播放結(jié)束2.1.4 系統(tǒng)界面需求播放器界面要求布局合理,簡約,顏色舒適,控制按鈕友好,能讓用戶一眼就能看出各個按鈕的作用及操作方法。能實現(xiàn)要求的功能,但又不重復(fù)。要考慮到不同手機(jī)屏幕大小可能不一樣,應(yīng)盡量兼容大多數(shù)手機(jī)屏幕尺寸,使之顯示無障礙。第3章 詳細(xì)設(shè)計3.1 界面設(shè)計3.1.1 播放器的進(jìn)入界面Android的每一個可視化界面,為了使界面更加美觀,在此處運用了老電視關(guān)閉動畫效果,使其產(chǎn)生動畫效果,界面更加友好,代碼如下:public boolean onKeyDown(int keyCode, KeyEvent event) if (keyCode = KeyEvent.KEYCODE_BACK) Intent intent = new Intent(LocalPlayMusicActivity.this,LocalTabMusicActivity.class);startActivity(intent);finish();return true;/ 播放音樂protected void play() flag = PLAY;playbtn.setImageResource(R.drawable.pause_button);Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", PLAY);startService(intent);/ 暫停protected void pause() flag = PAUSE;playbtn.setImageResource(R.drawable.play_button);Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", PAUSE);startService(intent);/ 上一首protected void latestOne() if (position = 0) position = _ids.length - 1; else if (position > 0) position-;stop();setup();play();/ 停止播放音樂private void stop() Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", STOP);startService(intent);/ 下一首播放音樂protected void nextOne() if (position = _ids.length - 1) position = 0; else if (position < _ids.length - 1) position+;stop();setup();play();/ 進(jìn)度條改變protected void seekbar_change(int progress) Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", PROGRESS_CHANGE);intent.putExtra("progress", progress);startService(intent);3.1.2 播放器主界面Android的每一個可視化界面,都有其唯一的布局配置文件,該文件里面有各種布局方式,和各種資源文件。如:圖像,文字,顏色的引用,程序在運行時,可以通過代碼對各配置文件進(jìn)行讀取。這樣就可以形成不同的可視化界面和炫麗的效果。播放器主界面是一個Activity,Android工程在每次個activity啟動的時候會首先執(zhí)行Oncreate()方法,如下代碼:protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.layout.music_play);該方法執(zhí)行界面初始化操作,該方法主要執(zhí)行界面的初始化操作,Activity有個設(shè)置布局的方法:Context.setContentView(layoutResID),參數(shù)為資源ID,該Id在工程目錄res/layout下,主界面布局文件名為MusicPlay。下面是music_play.xml布局文件代碼結(jié)構(gòu)如下:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayout> <RelativeLayout> <FrameLayout></FrameLayout><LinearLayout><LinearLayout ><LinearLayout><LinearLayout ></RelativeLayout><RelativeLayout></RelativeLayout></RelativeLayout>在相對布局<relativeLayout>下嵌套了兩個相對布局<relativeLayout>,第一個<relativeLayout>實現(xiàn)歌曲基本信息的顯示,其中<FrameLayout>用來顯示專輯圖片,<LinearLayout>用來顯示播放歌曲時的進(jìn)度條,另一個<LinearLayout>則用來顯示上一曲,開始/暫停,下一曲等按鈕。3.2 功能實現(xiàn)3.2.1 播放器音軌的實現(xiàn)不管是從界面外觀還是從功能上,系統(tǒng)自帶的SeekBar往往不能滿足用戶的需要。所以我們在這里自定義了一個音軌SeekBar,在MusicPlay.xml配置文件中,SeekBar的代碼如下:<SeekBar android:id="+id/seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" android:layout_marginTop="60dip" android:paddingLeft="5dip" android:paddingRight="5dip" android:progressDrawable="drawable/progressbar_first" android:thumb="drawable/progress_dot" />上述代碼中有參數(shù)android:thumb="drawable/progress_dot"為音軌游標(biāo)的圖片資源,android:progressDrawable="drawable/seekbar_style"為SeekBar條的風(fēng)格style。引用了drawable中的seekbar_style.xml文件,seekBar.xml是自定義的配置文件,代碼如下:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="<item android:id="android:id/progress"><clip android:drawable="drawable/progressbar_first" /></item></layer-list>音軌對象SeekBar在歌曲剛開始的時候調(diào)用方法SeekBar.setMax(),seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() public void onStopTrackingTouch(SeekBar seekBar) public void onStartTrackingTouch(SeekBar seekBar) public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) if (MusicService.mplayer != null) if (fromUser) MusicService.mplayer.seekTo(progress);play_time.setText(mAdapter.toTime(progress); else seekBar.setMax(0););3.2.2 播放器播放、暫停等功能各按鈕水平放置,用的是布局中的線性布局LinearLayout,LinearLayout中依次放置上一曲、開始/暫停、下一曲、聲音按鈕屬性。配置文件代碼結(jié)構(gòu)如下:<LinearLayout><ImageButton></ImageButton><ImageButton></ImageButton><ImageButton></ImageButton><ImageButton></ImageButton></LinearLayout>android的媒體播放原理:android源程序已經(jīng)為我們們封裝好了一個接口類,叫MusicService。該接口在執(zhí)行行需要一個數(shù)據(jù)源,在此初始化對象:/* * 初始化媒體對象 * * param mp3Path */public void initMediaSource(String mp3Path) Uri mp3Uri = Uri.parse(mp3Path);if (mplayer != null) mplayer.stop();mplayer.reset();mplayer = null;mplayer = MediaPlayer.create(this, mp3Uri);mplayer.setOnCompletionListener(this);mLrcRead=new MusicLrc();進(jìn)行播放和暫停功能的設(shè)置,在音樂播放的過程中才可以對播放器進(jìn)行暫停的操作代碼如下:protected void play() flag = PLAY;playbtn.setImageResource(R.drawable.pause_button);Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", PLAY);startService(intent);/ 暫停protected void pause() flag = PAUSE;playbtn.setImageResource(R.drawable.play_button);Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", PAUSE);startService(intent);/ 停止播放音樂private void stop() Intent intent = new Intent();intent.setAction("org.music.service.LocalMusicService");intent.putExtra("op", STOP);startService(intent);進(jìn)行上一曲和下曲的功能,代碼如下:/ 上一首protected void latestOne() if (position = 0) position = _ids.length - 1; else if (position > 0) position-;stop();setup();play();/ 下一首播放音樂protected void nextOne() if (position = _ids.length - 1) position = 0; else if (position < _ids.length - 1) position+;stop();setup();play();3.2.3 數(shù)據(jù)共享機(jī)制在使用ContentResoler時,調(diào)用者不能直接調(diào)用ContentResoler的接口函數(shù),而需要而需要使用ContentResoler對象,通過URI間接調(diào)用ContentResoler。本軟件中主要用到了ContentResoler中的query()函數(shù),用于查詢歌曲的信息內(nèi)容,相關(guān)代碼如下:private void ReadSDLrc() cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,new String MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media.ALBUM,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.ALBUM_ID , "_id=?",/ 我們們現(xiàn)在的歌詞就是要String數(shù)組的第4個參數(shù),顯示文件名字new String _idsposition + "" , null);cursor.moveToFirst();/ 將游標(biāo)移至第一位Bitmap bm = getArtwork(this, cursor.getInt(3), cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID), true);/顯示專輯圖片,用Bitmap讀出albumpic.setImageBitmap(bm);String name = cursor.getString(4);/ 游標(biāo)定位到DISPLAY_NAMEread("/sdcard/" + name.substring(0, name.indexOf(".") + ".lrc");/ sd卡的音樂名字截取字符竄并找到它的位置,這步重要,沒有寫一直表示歌詞文件無法顯示System.out.println(cursor.getString(4);/ 調(diào)試時我們先把音樂名字寫死,在控制臺打印能顯示出音樂名字,那么由于判斷音樂名字沒問題.只是沒有獲取位置/ 初始化服務(wù)private void init() IntentFilter filter = new IntentFilter();filter.addAction(MUSIC_CURRENT);filter.addAction(MUSIC_DURATION);filter.addAction(MUSIC_NEXT);filter.addAction(MUSIC_UPDATE);registerReceiver(musicreceiver, filter);/ 截取標(biāo)題,歌詞,歌名private void loadclip() seekbar.setProgress(0);int pos = _idsposition;name.setText(_titlesposition);artist.setText(_artistsposition);Intent intent = new Intent();intent.putExtra("_id", pos);intent.putExtra("_titles", _titles);intent.putExtra("position", position);intent.setAction("org.music.service.LocalMusicService");startService(intent);第4章 總結(jié)通過對Android手機(jī)平臺的音樂播放器軟件的開發(fā),使我們對Android音樂播放器系統(tǒng)的整體設(shè)計有一個深入的了解,對整個流程也會有一個清晰的認(rèn)識。開發(fā)Android音樂播放器,要抓住開發(fā)的核心部分,音樂播放器大體由播放主界面、播放列表核心組成,只要掌握了這兩部分的開發(fā),音樂播放器就能初具規(guī)模。而其它的功能都是在這兩個功能的基礎(chǔ)上去補(bǔ)充添加的,但是這是功能的確是必不可少的功能,否則就不能算是音樂播放器了。音樂播放器系統(tǒng)實現(xiàn)了播放器的基本功能:播放,暫停、上/下一首、音量調(diào)節(jié)功能。運用的系統(tǒng)平臺是現(xiàn)今最熱門的Android系統(tǒng),是一個開源的基于Linux系統(tǒng)的手機(jī)平臺。是以Java語言編寫+ContentProvider共享數(shù)據(jù)的組合方式進(jìn)行數(shù)據(jù)管理。實現(xiàn)了音樂播放器的系統(tǒng)編程。經(jīng)過這些天的Android系統(tǒng)技術(shù)知識的學(xué)習(xí)和對音樂播放器的構(gòu)思與設(shè)計,使我們對Android系統(tǒng)有了一定的了解,讓我們對Android系統(tǒng)上的開發(fā)流程和開發(fā)模式有了深入的了解,這對我們以后的Android項目開發(fā)有很大的幫助。第 15 頁 共 18 頁

注意事項

本文(簡易音樂播放器報告)為本站會員(1888****888)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!