美文网首页
音乐播放器思路

音乐播放器思路

作者: IAn2018 | 来源:发表于2017-03-24 23:37 被阅读223次

    开发背景

    为了放松心情,让听歌更加方便快捷,没有广告等其他干扰使用,于是便有了自己写一个音乐播放器的想法。

    开发环境搭建

    使用Android studio 2.2 进行开发,Java使用的是1.7,最低支持Android4.0.3,api版本15 ; 编译版本Android5.1,api版本22

    开发步骤:

    1.设计UI界面。

    共三个界面(Activity),分别是启动页面,歌曲列表界面和播放界面。

    其中歌曲界面包含三个选项,分别是默认列表,我喜欢的,和我的歌单。他们通过viewpager和fragment关联起来,使他们之间可以左右滑动切换。fragment里是一个listview,用来展示歌曲列表。并且给listview设置了点击事件和长按事件,分别用来播放歌曲和添加到其他列表。

    2.数据

    歌曲是通过Android提供的四大组件之一ContentProvide内容提供者,然后获取内容解析器,就可以查询手机中的歌曲。

    3.核心代码是音乐播放的工具类

    这里面封装了音乐播放用到的各种方法,有播放,暂停,上一首,下一首,监听音乐进度,获取当前音乐的信息,将音乐的时间格式化,等等。

    首先获取了Android提供的音乐播放类MediaPlayer,然后调用它的api,实现播放,暂停等功能,然后封装成各种方法,方便后期调用。其中难度有点大的是监听音乐的进度,采用的方法是开启一个子线程,每隔一秒获取一下当前音乐播放的位置,然后通过接口回调,返回给调用者。

    4.如何将默认列表中的歌曲添加到其他列表

    采用了在本地建数据库的方法,在数据库中建了两张表,分别是我喜欢表和我的歌单表,表结构为歌曲id,歌曲地址,歌名,作者和时长。方法是当选择添加歌曲时,将歌的信息插入到数据库中对应的表中,执行插入SQL语句,然后通知其他列表去数据库取数据,执行查询SQL语句,然后刷新列表,将歌曲展示到listview上。

    5.歌词

    暂时使用的是本地的歌词,先在本地搜索歌词文件,.lrc结尾的。然后自定义了一个控件,用来显示歌词。原理是解析本地歌词文件,根据歌词里的时间和对应歌词信息,然后根据歌曲的进度,去绘制对应的歌词文字。

    加油

    相关文章

      网友评论

          本文标题:音乐播放器思路

          本文链接:https://www.haomeiwen.com/subject/pheqottx.html