Android大作业 --音乐播放器

时间:2024-02-23 07:18:05

1、项目成员(本次作业主要对上一次的音乐播放器进行完善)

  韦家城 学号:1600802026 班级:161  博客:https://www.cnblogs.com/ln9969cc/

  邓乾尧 学号:1600802005 班级:161  博客:http://www.cnblogs.com/2575590018dq

2.APK链接:https://git.dev.tencent.com/YDMY/1600802005.git

3.conding代码链接:https://git.dev.tencent.com/YDMY/1600802005.git

4.团队项目介绍

 4.1团队项目截图

 

 

 4.2团队项目主要功能实现

  (1)进度条控制音乐播放进度

  (2)播放,暂停,上一曲,下一曲,音量键控制音量大小

  (3)列表播放音乐

  (4)自动播放下一曲

  (5)随机播放,顺序播放,单曲循环

5.关键代码展示(基于前一次作业的基础上,故不再写第三次作业已有的代码,主要写一些对上一次AKP的bug的修改和功能的完善之处)

  (1)关于第三次作业APK不能连续切歌的问题解决:在上一次作业中,每当切歌按钮被点击时,我们都会对音乐进行ondestroy()处理,也就是这里的错误,导致连续切歌的闪退。

    

 

  (2)关于第三次作业列表播放和主界面同时播放歌曲问题的解决:在上一个作业中,关于列表播放,我们都是使其自己准备音乐,自己在Main2Activity中实现播放,基本相当于独立于MainActivity,两者播放并不冲突,故可以实现同时播放,解决方法主要是弃除Main2Activity的播放功能,设置一个定时器每秒对MainActivity的position进行传值监控,如果主界面正在播放歌曲,并且与Main2Acrivity想要播放的歌曲不同,那么播放哪首歌曲以Main2Activity的值为优先。

  (3)实现自动播放下一曲(基于第三次作业的功能不足进行的完善):主要通过定时器和监听器进行监听,一旦用户没有点击暂停按钮,但是音乐的Isplaying=false时,就会对position进行自增操作,并且将歌曲播放出来,当然,当用户点击暂停按钮时,相应的定时器也会被关闭,再次点击播放按钮,定时器会继续启动并进行监听。

 

  

  (4)顺序播放,随机播放以及单曲循环功能实现(主要通过按钮的背景图片进行辨别当前的播放模式):我在MainActicity里又设置了一个styleposition(类似于position),在自动播放下一曲的监听器和定时器里加入对styleposition的判断,以判断执行哪种播放方式(在点击右下角按钮时,styleposition会实现自增并除3取余)

   

 

6.其他团队项目评价:

(1)张文君组
  评价:实现了歌词功能,界面布局做的也很大气美观,但是apk在手机运行并不能显示歌词。

(2)马秀莲组

  评价:实现了快递等校园服务,但是登录注册很有问题,下载apk以后并不能登录上去,其他的功能在项目介绍里才能看到。

(3)韩璐组

  评价:实现了一个播放列表的功能,可以把从内存卡中获取的本地音乐添加到另外一个播放列表中,是相对于其他音乐播放器的一大特色,其次界面做的也很不错,比较耐看。

(4)成明龙组

  评价:实现了音乐播放的基本功能,特色就是海报的滑动,但在apk中嵌入视频时在虚拟机上总是显示没有找到视频,并且界面布局并不是很美观。

(5)孟鑫菲组:

  评价:实现了物流交易,功能比较完善,界面也比较美观,但是apk运行有部分文字不能显示出来。

7.问题以及解决方法:

 已解决问题:

  韦家城(学号:1600802026):

  (1)连续切歌闪退的问题:在切歌时,不进行ondestroy()操作,详情在5中已经讲述。

  (2)列表和主界面同时放歌的问题:弃除Main2Acticity的播放功能,只实现position的传值,播放功能都只在MainActivity里进行实现,详情在5中已经讲述。  

  (3)UI界面的美化,图标选择等等。

  邓乾尧(学号:1600802005):

  (1)自动播放下一曲,:主要通过定时器和监听器进行监听,一旦用户没有点击暂停按钮,但是音乐的Isplaying=false时,就会对position进行自增操作,并且将歌曲播放出来,当然,当用户点击暂停按钮时,相应的定时器也会被关闭,再次点击播放按钮,定时器会继续            启动并进行监听。

  (2)循环播放,自动播放,单曲循环,随机播放以及单曲循环功能实现(主要通过按钮的背景图片进行辨别当前的播放模式):我在MainActicity里又设置了一个styleposition(类似于position),在自动播放下一曲的监听器和定时器里加入对styleposition的判断,以判断          执行哪种播放方式(在点击右下角按钮时,styleposition会实现自增并除3取余)

 尚未解决问题:

    只能实现播放音乐播放器里的歌曲,不能实现自动搜索本地音乐的搜索,本想直接把模拟器里的开发者开发的音乐播放器的接口当做内容提供者,直接在其中获取音乐列表,但是Android3.2版本的sd卡导入文件功能键被弃用了,好不容易找到导入界面,却因为端口问题导致无法正确导入文件,故只有放弃这种方法,只得在raw文件夹直接查找音乐文件名。

8.团队分工:

  因电脑Android的软件问题,并为了更有效的实现音乐播放器,故整个音乐播放器基本都是我和韦家城在一个电脑上完成,可以说,这个App的完善基本都是我们共同努力的结果,分工也是50%和50%,各自5分;

9.录屏:https://www.bilibili.com/video/av39882286?from=search&seid=11879265700267726139