网络音乐播放器

相信大家不想再去了解那些本地音乐的了 其实网络获取音乐也没有那么复杂 你只需要有一个自己uri所谓的网址 但必须只有音乐文件 没有其他的元素 这里我为了方便自己搭建了一个服务器 直接从我服务器获取音乐软件 现在网络音乐播放大部分都是用户指明歌名来播放


下面给大家看一下我的工程文件夹 我使用了主线程和service服务两种方法来实现音乐播放 后台服务可以优化运行稳定性 首先我先来讲一下在线程中实现网络音乐播放器

图片发自简书App

首先看我的布局文件 是很简单的布局 主要是给一部分人讲思路 如果想实现音乐列表可以自己加一个listView 我这里主要指定了一个网络上的音乐 uri地址为http://120.78.188.33/wp-content/uploads/2018/07/楼沁-痴情玫瑰花-女声版-1.mp3

这是我自己的服务器地址 我的服务器我不一定随时开启 大家可以根据情况找地址

xml文件中加入了三个图片按钮 播放 暂停 停止

图片发自简书App

这里公布了MidiaPlayer的结构流程 顺便补充一下 不仅可以视频音乐播放 还可以流的播放 在API26即安卓8.0以后加了传输加密的工具 具体看官网谷歌官网MediaPlayer简介

由于我设备谷歌翻墙 这个链接可能不能访问 建议谷歌翻墙

图片发自简书App

然后看一下布局关联的java文件 声明三个按钮和MediaPlayer媒体播放器 媒体播放器可以播放音乐和视频 这里用到了音乐

声明网址 这里为公开的 如果不想公开可以设置成private 但其他类就不可以访问了 根据情况而定

下面是activity生命周期销毁的方法

如果播放器正在运行和播放器正在播放 停止播放器 主要是为了用户关闭你的软件优化内存

然后适当你占用系统播放器的资源 初始化你的播放器

继承销毁方法的所有类和属性

只有本方法可以访问到活动生命周期的创建周期

绑定ui控件id 也可以写一个方法用来单独存储绑定控件id

图片发自简书App

实现按钮监听 判断媒体播放器是否存在 如果不存在调用ready方法 这个方法下面会写到

点击播放按钮启动播放器

暂停按钮监听

当播放器存在和正在播放调用播放器的暂停方法

停止按钮监听

当播放器不为空和播放器正在运行

播放器停止运行 由于播放器只能播放一次音乐 所以需要释放资源 release

图片发自简书App

然后初始化 要不然播放器一直占用资源无法点击停止按钮后点击播放按钮 如果不写这两句会出现不能重新播放

下面写的是准备ready方法 这是我自己写的 然后在其他地方调用这个方法 用来避免代码的繁琐

准备工作是创建媒体播放器 如果媒体播放器不存在 创建媒体播放器

尝试媒体播放器设置数据资源 上下文本文 uri 解析开始声明的uri 这里到了初始化状态还不能播放

媒体播放器准备 当准备了就可以播放了

如果想有个音乐列表自己添加listView设置适配器 到这里就讲完了主线程实现音乐播放了 是不是特别简单

图片发自简书App

下面来讲述使用服务service实现音乐播放

布局文件同样是这个 我绑定了同一个布局

然后直接来看我的服务类的解析

这个类继承了服务的所有属性和方法

声明媒体播放器声明operatorReceiver操作寄存器 操作寄存器用来接受主界面ui的返回

同样声明uri网址 uri可以指明网址 也可以指明一些手机内部存储数据库地址

同样的与主线程方法一样实现软件销毁进程的方法 然后不管哪种情况都关闭registerReceiver寄存接收器 寄存接收器是用来放操作接收器获得的数据 用户销毁软件进程就不需要操作接受了 可以销毁

图片发自简书App

继承属性

活动的创建方法实现 每个活动都必须实现创建方法 否则会出错

初始化操作接收器

设置信使过滤器 指明action

把操作接收器获得的数据放到寄存接收器里  操作接收器的名字 和action

初始化媒体播放器

绑定方法 这里我没用到

下面写预测开始暂停停止的方法  调用开始暂停停止方法

图片发自简书App

同样 停止播放后重新准备一下 用来让用户停止后可以继续点击播放

服务的开始命令方法 同样调用一个准备工作

这里指明了准备方法的内容 这个准备方法不可以生成 是我自己写的方法

每次准备重启一下媒体播放器 reset重启

尝试

首先设置媒体播放器数据资源data Source 同样初始状态不可以播放

媒体播放器准备 写到这一步就可以播放音乐了

然后写了一个class用来继承广播接收器


图片发自简书App

实现接受方法

设置一个数组 命名 信使得到的额外数据 名字 默认值-1因为不可能为-1

开关名字cmd

按键Tools类中的按钮play调用开始音乐方法

图片发自简书App

来看一下我的tools文件 这里把按钮点击三个转换成了数字

图片发自简书App

最后别忘了在功能清单中声明网络权限和注册servicer

图片发自简书App

到这里两个方法就都讲完了 首先这里讲一下由于所有的代码都是自己写的思路 如果有哪里做的不好请指出 我会尽力为大家分享安卓开发的知识 有时间我会公布我的音乐列表播放和实现上下曲功能 同时读取音乐时间和艺人 而且我会讲述本人对官网的理解 相信大家一看到谷歌官网就头大 写的太乱 随后我会发表简书给大家分享经验


现在到了给小编点小心心的时候了 小编编写这又得不到好处 只希望你点个小心心 哈哈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容