網(wǎng)絡(luò)音樂播放器

相信大家不想再去了解那些本地音樂的了 其實(shí)網(wǎng)絡(luò)獲取音樂也沒有那么復(fù)雜 你只需要有一個(gè)自己uri所謂的網(wǎng)址 但必須只有音樂文件 沒有其他的元素 這里我為了方便自己搭建了一個(gè)服務(wù)器 直接從我服務(wù)器獲取音樂軟件 現(xiàn)在網(wǎng)絡(luò)音樂播放大部分都是用戶指明歌名來播放


下面給大家看一下我的工程文件夾 我使用了主線程和service服務(wù)兩種方法來實(shí)現(xiàn)音樂播放 后臺服務(wù)可以優(yōu)化運(yùn)行穩(wěn)定性 首先我先來講一下在線程中實(shí)現(xiàn)網(wǎng)絡(luò)音樂播放器

圖片發(fā)自簡書App

首先看我的布局文件 是很簡單的布局 主要是給一部分人講思路 如果想實(shí)現(xiàn)音樂列表可以自己加一個(gè)listView 我這里主要指定了一個(gè)網(wǎng)絡(luò)上的音樂 uri地址為http://120.78.188.33/wp-content/uploads/2018/07/樓沁-癡情玫瑰花-女聲版-1.mp3

這是我自己的服務(wù)器地址 我的服務(wù)器我不一定隨時(shí)開啟 大家可以根據(jù)情況找地址

xml文件中加入了三個(gè)圖片按鈕 播放 暫停 停止

圖片發(fā)自簡書App

這里公布了MidiaPlayer的結(jié)構(gòu)流程 順便補(bǔ)充一下 不僅可以視頻音樂播放 還可以流的播放 在API26即安卓8.0以后加了傳輸加密的工具 具體看官網(wǎng)谷歌官網(wǎng)MediaPlayer簡介

由于我設(shè)備谷歌翻墻 這個(gè)鏈接可能不能訪問 建議谷歌翻墻

圖片發(fā)自簡書App

然后看一下布局關(guān)聯(lián)的java文件 聲明三個(gè)按鈕和MediaPlayer媒體播放器 媒體播放器可以播放音樂和視頻 這里用到了音樂

聲明網(wǎng)址 這里為公開的 如果不想公開可以設(shè)置成private 但其他類就不可以訪問了 根據(jù)情況而定

下面是activity生命周期銷毀的方法

如果播放器正在運(yùn)行和播放器正在播放 停止播放器 主要是為了用戶關(guān)閉你的軟件優(yōu)化內(nèi)存

然后適當(dāng)你占用系統(tǒng)播放器的資源 初始化你的播放器

繼承銷毀方法的所有類和屬性

只有本方法可以訪問到活動生命周期的創(chuàng)建周期

綁定ui控件id 也可以寫一個(gè)方法用來單獨(dú)存儲綁定控件id

圖片發(fā)自簡書App

實(shí)現(xiàn)按鈕監(jiān)聽 判斷媒體播放器是否存在 如果不存在調(diào)用ready方法 這個(gè)方法下面會寫到

點(diǎn)擊播放按鈕啟動播放器

暫停按鈕監(jiān)聽

當(dāng)播放器存在和正在播放調(diào)用播放器的暫停方法

停止按鈕監(jiān)聽

當(dāng)播放器不為空和播放器正在運(yùn)行

播放器停止運(yùn)行 由于播放器只能播放一次音樂 所以需要釋放資源 release

圖片發(fā)自簡書App

然后初始化 要不然播放器一直占用資源無法點(diǎn)擊停止按鈕后點(diǎn)擊播放按鈕 如果不寫這兩句會出現(xiàn)不能重新播放

下面寫的是準(zhǔn)備ready方法 這是我自己寫的 然后在其他地方調(diào)用這個(gè)方法 用來避免代碼的繁瑣

準(zhǔn)備工作是創(chuàng)建媒體播放器 如果媒體播放器不存在 創(chuàng)建媒體播放器

嘗試媒體播放器設(shè)置數(shù)據(jù)資源 上下文本文 uri 解析開始聲明的uri 這里到了初始化狀態(tài)還不能播放

媒體播放器準(zhǔn)備 當(dāng)準(zhǔn)備了就可以播放了

如果想有個(gè)音樂列表自己添加listView設(shè)置適配器 到這里就講完了主線程實(shí)現(xiàn)音樂播放了 是不是特別簡單

圖片發(fā)自簡書App

下面來講述使用服務(wù)service實(shí)現(xiàn)音樂播放

布局文件同樣是這個(gè) 我綁定了同一個(gè)布局

然后直接來看我的服務(wù)類的解析

這個(gè)類繼承了服務(wù)的所有屬性和方法

聲明媒體播放器聲明operatorReceiver操作寄存器 操作寄存器用來接受主界面ui的返回

同樣聲明uri網(wǎng)址 uri可以指明網(wǎng)址 也可以指明一些手機(jī)內(nèi)部存儲數(shù)據(jù)庫地址

同樣的與主線程方法一樣實(shí)現(xiàn)軟件銷毀進(jìn)程的方法 然后不管哪種情況都關(guān)閉registerReceiver寄存接收器 寄存接收器是用來放操作接收器獲得的數(shù)據(jù) 用戶銷毀軟件進(jìn)程就不需要操作接受了 可以銷毀

圖片發(fā)自簡書App

繼承屬性

活動的創(chuàng)建方法實(shí)現(xiàn) 每個(gè)活動都必須實(shí)現(xiàn)創(chuàng)建方法 否則會出錯(cuò)

初始化操作接收器

設(shè)置信使過濾器 指明action

把操作接收器獲得的數(shù)據(jù)放到寄存接收器里? 操作接收器的名字 和action

初始化媒體播放器

綁定方法 這里我沒用到

下面寫預(yù)測開始暫停停止的方法? 調(diào)用開始暫停停止方法

圖片發(fā)自簡書App

同樣 停止播放后重新準(zhǔn)備一下 用來讓用戶停止后可以繼續(xù)點(diǎn)擊播放

服務(wù)的開始命令方法 同樣調(diào)用一個(gè)準(zhǔn)備工作

這里指明了準(zhǔn)備方法的內(nèi)容 這個(gè)準(zhǔn)備方法不可以生成 是我自己寫的方法

每次準(zhǔn)備重啟一下媒體播放器 reset重啟

嘗試

首先設(shè)置媒體播放器數(shù)據(jù)資源data Source 同樣初始狀態(tài)不可以播放

媒體播放器準(zhǔn)備 寫到這一步就可以播放音樂了

然后寫了一個(gè)class用來繼承廣播接收器


圖片發(fā)自簡書App

實(shí)現(xiàn)接受方法

設(shè)置一個(gè)數(shù)組 命名 信使得到的額外數(shù)據(jù) 名字 默認(rèn)值-1因?yàn)椴豢赡転?1

開關(guān)名字cmd

按鍵Tools類中的按鈕play調(diào)用開始音樂方法

圖片發(fā)自簡書App

來看一下我的tools文件 這里把按鈕點(diǎn)擊三個(gè)轉(zhuǎn)換成了數(shù)字

圖片發(fā)自簡書App

最后別忘了在功能清單中聲明網(wǎng)絡(luò)權(quán)限和注冊servicer

圖片發(fā)自簡書App

到這里兩個(gè)方法就都講完了 首先這里講一下由于所有的代碼都是自己寫的思路 如果有哪里做的不好請指出 我會盡力為大家分享安卓開發(fā)的知識 有時(shí)間我會公布我的音樂列表播放和實(shí)現(xiàn)上下曲功能 同時(shí)讀取音樂時(shí)間和藝人 而且我會講述本人對官網(wǎng)的理解 相信大家一看到谷歌官網(wǎng)就頭大 寫的太亂 隨后我會發(fā)表簡書給大家分享經(jīng)驗(yàn)


現(xiàn)在到了給小編點(diǎn)小心心的時(shí)候了 小編編寫這又得不到好處 只希望你點(diǎn)個(gè)小心心 哈哈

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肚菠,一起剝皮案震驚了整個(gè)濱河市纷闺,隨后出現(xiàn)的幾起案子涣脚,更是在濱河造成了極大的恐慌没酣,老刑警劉巖郁妈,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趣苏,死亡現(xiàn)場離奇詭異晾匠,居然都是意外死亡啦桌,警方通過查閱死者的電腦和手機(jī)匾旭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門镣屹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人价涝,你說我怎么就攤上這事女蜈。” “怎么了色瘩?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵伪窖,是天一觀的道長。 經(jīng)常有香客問我居兆,道長覆山,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任泥栖,我火速辦了婚禮簇宽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘聊倔。我一直安慰自己晦毙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布耙蔑。 她就那樣靜靜地躺著见妒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甸陌。 梳的紋絲不亂的頭發(fā)上须揣,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音钱豁,去河邊找鬼耻卡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛牲尺,可吹牛的內(nèi)容都是我干的卵酪。 我是一名探鬼主播幌蚊,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼溃卡!你這毒婦竟也來了溢豆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瘸羡,失蹤者是張志新(化名)和其女友劉穎漩仙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犹赖,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡队他,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峻村。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麸折。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雀哨,靈堂內(nèi)的尸體忽然破棺而出磕谅,到底是詐尸還是另有隱情私爷,我是刑警寧澤雾棺,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站衬浑,受9級特大地震影響捌浩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜工秩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一尸饺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧助币,春花似錦浪听、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俭缓,卻和暖如春克伊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背华坦。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工愿吹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惜姐。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓犁跪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子坷衍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容