多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 手把手教你做音樂播放器(一)功能規(guī)劃

手把手教你做音樂播放器(一)功能規(guī)劃

來源:程序員人生   發(fā)布時間:2016-09-27 09:16:53 閱讀次數(shù):3659次

前言

學(xué)習(xí)完“計算器” “視頻播放器” “藍(lán)牙聊天”以后,對安卓利用的開發(fā)我們基本上就入門70%了。

現(xiàn)在,我們將在之前學(xué)習(xí)的基礎(chǔ)上,進(jìn)1步完善我們要掌握的安卓開發(fā)技術(shù),開發(fā)1個“音樂播放器”。

當(dāng)完成這個“音樂播放器”利用后,我們對安卓的利用開發(fā)就完全的入門,能和大部份安卓開發(fā)者侃侃而談了,固然更重要的是能夠開發(fā)更多功能全面、復(fù)雜的利用程序了。

本文針對的讀者是:

  1. 對安卓開發(fā)有了初步認(rèn)識,但還沒有甚么經(jīng)驗的新人;
  2. 對已有的安卓開發(fā)經(jīng)驗沒有系統(tǒng)化整理的開發(fā)者;

在開始之前,假定各位已做好了以下準(zhǔn)備:

  • 1臺開發(fā)用筆記本電腦,并搭建好了開發(fā)環(huán)境;
  • 1部安卓系統(tǒng)裝備(手機或平板電腦);
  • 裝備上寄存了可以播放的音樂文件;
  • 1根連接電腦和安卓裝備的數(shù)據(jù)線(通常是micro usb數(shù)據(jù)線);
  • 1到兩天時間;
  • 耐心與求知欲;

本文的代碼,可以從安豆網(wǎng)的示例代碼中下載。

第1節(jié) 功能計劃

音樂是我們平常必備的精神食糧,每一個人的手機里面1定會有1個音樂播放器。在座公交時,它會陪伴著我們;在運動的時候,它會陪伴著我們;睡覺前,它一樣會陪伴著我們。

與之前計劃產(chǎn)品的思路1樣,我們先要做加法,盡量的把音樂播放器可以具有的功能發(fā)掘出來;然后再做減法,把不實用、或投入性價比不高的功能放1放;最后,再根據(jù)用戶的反饋、加上上1版產(chǎn)品留下的遺憾,進(jìn)行產(chǎn)品的升級。

讓我們把有限的精力集中到最為重要的功能上面去。

1.1 可能的功能點

音樂播放器我們已見過很多了,它們的功能愈來愈高級,最早只能播放本地裝備上存儲的音樂,現(xiàn)在進(jìn)化的還能夠播放網(wǎng)絡(luò)端端音樂了。

我們就先來為自己的音樂播放器來做個頭腦風(fēng)暴吧,看看它可以具有哪些功能:

  1. 展現(xiàn)出本地的音樂文件,并顯示該文件的相干信息,例如歌曲名、演唱者、長度、所屬唱片、歌曲的封面圖片;
  2. 音樂可以依照演唱者、專輯名稱、男女歌手、歌曲類型等信息進(jìn)行分類,進(jìn)入每一個分類后,依照字母順序展現(xiàn)歌曲列表;
  3. 刪除選中的本地音樂;
  4. 播放本地音樂,在播放的進(jìn)程中,可以停止播放、回復(fù)播放、播放下1首、播放上1首、拖動音樂進(jìn)度條到音樂任意時間點播放;
  5. 播放時,能顯示當(dāng)前播放音樂的進(jìn)度,唆使播放的時間;
  6. 播放時,能實時的顯示當(dāng)前歌詞;
  7. 能添加選定的歌曲到播放列表,讓播放器播放列表中的歌曲,播放的順序可以設(shè)置順序播放、單曲循環(huán)播放、隨機播放等等;
  8. 音樂播放器等界面退出以后,音樂依然能在后臺播放;再次打開播放器,能顯示當(dāng)前播放的實時信息,例如播放進(jìn)度條;
  9. 記錄每首音樂的播放歷史,下1次播放音樂就從之前播放到的地方繼續(xù)播放;
  10. 可以連接到網(wǎng)絡(luò),播放網(wǎng)絡(luò)上的音樂;
  11. 下載網(wǎng)絡(luò)上的音樂;
  12. 讓用戶標(biāo)注喜歡的音樂,允許用戶給音樂寫評論;
  13. 根據(jù)用戶的播放歷史,為他推薦可能會喜歡的音樂;
  14. 用戶通過音樂來交友
    ……

可以添加的功能實在是太多了,這個清單實在是不能包括其萬1。

1.2 功能的挑選

從上面列出的明細(xì)可以看出,能夠賦予這個聊天利用的功能實在是太多了,因此我們必須根據(jù)我們的能力和精力來進(jìn)行挑選,做功能的減法。

大體上看,上面的功能清單將功能分成了兩塊,

  1. 不需要網(wǎng)絡(luò)支持的本地播放;
  2. 需要網(wǎng)絡(luò)支持的在線播放和網(wǎng)絡(luò)社交;

加入網(wǎng)絡(luò)方面的功能是1個很好的想法,不過就目前來講,我們啥也沒有,還是先把更加基礎(chǔ)簡單的功能實現(xiàn)了吧。因此,我們決定先做好本地播放器的功能,其它的以后再說。

在實現(xiàn)本地音樂播放器的進(jìn)程中,我們也選擇避繁就簡的原則,對那些不是原則上重要的功能能省就省,做到盡可能簡單。

1.3 現(xiàn)階段的功能

根據(jù)上面設(shè)計的原則,我們來肯定音樂播放器的具體功能:

  1. 展現(xiàn)出本地的音樂文件,并顯示該歌曲的封面圖片、歌曲名、長度;
  2. 播放本地音樂,在播放的進(jìn)程中,可以停止播放、回復(fù)播放、播放下1首、播放上1首、拖動音樂進(jìn)度條到音樂任意時間點播放;
  3. 播放時,能顯示當(dāng)前播放音樂的進(jìn)度,唆使播放的時間;
  4. 點擊音樂列表中的單個音樂,會將它添加到播放列表中,并立即播放該音樂;
  5. 長按音樂列表中的單個音樂,進(jìn)入多選模式,將多選中的音樂作為新的播放列表替換之前的播放列表,并從頭開始播放;
  6. 音樂播放器等界面退出以后,音樂依然能在后臺播放;再次打開播放器,能顯示當(dāng)前播放的實時信息,例如播放進(jìn)度條;
  7. 每次啟動音樂播放器,播放器裝載之前的播放列表,并把列表中的第1首音樂作為默許的首播曲;
  8. 假設(shè)音樂正在播放,啟動音樂播放器后,播放器裝載之前的播放列表,并把正在播放的音樂作為列表中默許的首播曲;

這里我們再增加1個福利,為音樂播放器增加1個桌面小工具。當(dāng)它放到桌面上以后,用戶能很方便的控制音樂的播放。

在桌面小工具上,可以顯示音樂的封面,歌曲的名字,和控制它的播放、暫停、上1首、下1首。

因此,對視頻播放器的界面進(jìn)行了以下的設(shè)計:

全部音樂播放的流程應(yīng)當(dāng)是,

  1. 用戶在MusicListActivity通太長按,開始選擇多首音樂,組成1個播放列表;
  2. 這個播放列表被傳遞給MusicServiceMusicService操作PlayListContentProvider清空原本的播放列表,然后將這份新的列表存儲到PlayListContentProvider當(dāng)中;
  3. 用戶點擊MusicListActivity上的播放按鈕時,MusicService開始從播放列表獲得第1首曲子開始播放;
  4. 播放的進(jìn)程中,MusicService將當(dāng)前播放的進(jìn)度實時更新到PlayListContentProvider中;
  5. 當(dāng)播放的音樂有變化(播放完成、切換歌曲、播放進(jìn)度每秒的變化),MusicService都將通知給MusicListActivity,讓其能夠同步的改變界面顯示;
  6. 播放進(jìn)程中,MusicListActivity能通過調(diào)用MusicService提供的接口控制音樂的暫停、繼續(xù)、播放上1首、下1首;
  7. 如果用戶單獨點擊音樂列表中的音樂,該音樂將被添加到播放列表中的第1位,并開始播放;
  8. 當(dāng)播放到之前播放過的歌曲,將從它曾停止播放的位置繼續(xù)播放,如果之前該樂曲被播放終了,這次播放則從頭開始播放;

關(guān)于播放的規(guī)則是我們自己定義的,如果你有自己的想法,可以在完成音樂播放器的開發(fā)后,依照自己的想法修改,做到融會貫通。

1.4 功能條件的假定

我們肯定了音樂播放器應(yīng)當(dāng)具有的功能,還需要給出實現(xiàn)這些功能的1些基本假定。

  1. 裝備上可被播放的音頻文件很多很多,多是通話錄音,多是語音記事本,為了簡便操作,我們將認(rèn)為音樂文件都放在包括了music關(guān)鍵字的路徑當(dāng)中;

  2. 裝備上已準(zhǔn)備好自帶封面的音樂。比如說1首MP3格式的音樂,它所包括的內(nèi)容其實不只是音樂本省,還包括了很多元信息,例如歌曲的作者,歌曲的所屬專輯,乃至歌曲的專輯封面圖片等很多豐富的信息。只不過我們通常只注意到了MP3格式的音樂本身的音樂內(nèi)容和文件名字,沒有直觀的看到其它這些信息。元信息是可選的內(nèi)容,所以有的音樂文件也沒有把對應(yīng)的信息填充到里面去。不過正版版權(quán)到音樂供應(yīng)商都會注意到這些細(xì)節(jié),把與這首音樂更多的信息都提供給大家。

    我們這里使用的測試音樂都是通過網(wǎng)易云音樂下載的正版歌曲(你也能夠去別的渠道下載正版歌曲,作為調(diào)試程序時使用的素材),所以基本上會看到歌曲的封面圖片。如果沒有封面圖片,我們會讓利用顯示默許的封面圖片。

1.5 關(guān)于遺憾

對那些沒有在這個階段加入的功能,期待以后加入吧。

對那些為了簡化開發(fā)難度、減少開發(fā)時間而采取的簡單設(shè)計,期待在下1版程序中優(yōu)化和完善吧。


/*******************************************************************/
* 版權(quán)聲明
* 本教程只在CSDN和安豆網(wǎng)發(fā)布,其他網(wǎng)站出現(xiàn)本教程均屬侵權(quán)。

*另外,我們還推出了Arduino智能硬件相干的教程,您可以在我們的網(wǎng)店安豆的雜貨鋪中購買相干硬件。同時也感謝大家對我們這些碼農(nóng)的支持。

*最后再次感謝各位讀者對安豆的支持,謝謝:)
/*******************************************************************/

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产v片在线观看 | 最近中文字幕mv免费高清视频免费 | 国产在线拍揄自揄视精品不卡 | 精品国产午夜肉伦伦影院 | 波多野结衣在线中文字幕 | 亚洲国产日韩欧美综合久久 | 老司机一二三区福利视频 | 日本艳鉧动漫1~6中文在线观看 | 久草在线免费色站 | 在线看福利片 | www.大香| 亚洲社区 | 无国产精品白浆免费视 | 中文字幕在线永久在线视频2020 | h小视频在线观看 | 欧美亚洲春色系列 | 欧美日一区二区三区 | 用劲好爽再深点视频 | 成人久久久观看免费毛片 | 精品中文字幕一区二区三区四区 | 一级色网站 | 性欧美18一19sex性高清播放 | 国产第一页视频 | 男女最猛烈xx00动态视频 | 在线观看一级毛片免费 | 久久国产欧美日韩精品免费 | 日本二区免费一片黄2019 | 好吊妞在线成人免费 | 国产欧美久久久精品影院 | 男女日日| 日产免费线路一区二区三区 | 黄色xxxxx | 99久久精品免费看国产免费软件 | 亚洲国产人成在线观看 | 日本精品一区二区三本中文 | 911久久| 亚洲精品99久久久久久欧美版 | 最近最新中文字幕大全高清6 | 国产免费资源高清小视频在线观看 | 国产第3页 | 欧美黑人xxxx性高清版 |