android网络音乐播放器

版权声明:本文出自李紫洋的博客 转载请指明出处https://blog.csdn.net/qq_41912447 https://blog.csdn.net/qq_41912447/article/details/83433214

**

网络音乐播放器

**
转载请指明博客网址
作者:WangYouHu我的主页网址
链接:https://www.jianshu.com/p/855659f266ae
著作权归作者所有,任何形式的转载都请联系本人获得授权并注明出处。
相信大家不想再去了解那些本地音乐的了 其实网络获取音乐也没有那么复杂 你只需要有一个自己uri所谓的网址 但必须只有音乐文件 没有其他的元素 这里我为了方便自己搭建了一个服务器 直接从我服务器获取音乐软件 现在网络音乐播放大部分都是用户指明歌名来播放

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

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

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

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


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

由于我设备谷歌翻墙 这个链接可能不能访问 建议谷歌翻墙
在这里插入图片描述
然后看一下布局关联的java文件 声明三个按钮和MediaPlayer媒体播放器 媒体播放器可以播放音乐和视频 这里用到了音乐

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

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

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

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

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

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

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

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

点击播放按钮启动播放器

暂停按钮监听

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

停止按钮监听

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

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

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

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

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

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

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

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

在这里插入图片描述
下面来讲述使用服务service实现音乐播放

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

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

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

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

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

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

在这里插入图片描述
继承属性

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

初始化操作接收器

设置信使过滤器 指明action

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

初始化媒体播放器

绑定方法 这里我没用到

下面写预测开始暂停停止的方法 调用开始暂停停止方法
在这里插入图片描述
同样 停止播放后重新准备一下 用来让用户停止后可以继续点击播放

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

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

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

尝试

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

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

然后写了一个class用来继承广播接收器
在这里插入图片描述
实现接受方法

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

开关名字cmd

按键Tools类中的按钮play调用开始音乐方法
在这里插入图片描述
来看一下我的tools类 这里把按钮点击三个转换成了数字

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

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

作者:WangYouHu
链接:https://www.jianshu.com/p/855659f266ae
來源:博客
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
注 本人博客和简书逐渐同步 也会更新一些新的论文来供大家参考 由于需要实习的原因 可能更新速度会很慢
我明白自己和那些高级博客差距很大 但我写的都是基础 基础学好了才可以让大家更好的学习 注解写的很好
这些都是平时常见的代码 由于本人学习方向是前端 有错的地方请大家多多提出 这也是第一次在博客上写论文
本来都是在简书上写论文 就把原文抄了过来 后续会更新一个机器人聊天的软件 供大家学习

猜你喜欢

转载自blog.csdn.net/qq_41912447/article/details/83433214