1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android studio 音乐播放器

Android studio 音乐播放器

时间:2022-08-09 19:15:26

相关推荐

Android studio 音乐播放器

在老师给的代码基础上做了一些改动

实验要求

音乐播放器添加音乐播放的 上一首 和 下一首 控制将广播嵌入了服务实现一些进阶功能:显示专辑封面、歌曲名称、歌手姓名和进度条

最终页面展示

实验步骤

布局文件

2.创建一个assets文件夹,放置音频

JAVA文件里的主要方法

// 自定义的BroadcastReceiver,负责监听从Service传回来的广播public class ActivityReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// 获取Intent中的update消息,update代表播放状态int update = intent.getIntExtra("update", -1);// 获取Intent中的current消息,current代表当前正在播放的歌曲int current = intent.getIntExtra("current", -1);if (current >= 0) {title.setText(titleStrs[current]);author.setText(authorStrs[current]);cover.setImageResource(covers[current]);}switch (update) {case 0x11:play.setImageResource(R.drawable.pause);status = 0x11;break;// 控制系统进入播放状态case 0x12:// 播放状态下设置使用暂停图标play.setImageResource(R.drawable.play);// 设置当前状态status = 0x12;break;// 控制系统进入暂停状态case 0x13:// 暂停状态下设置使用播放图标play.setImageResource(R.drawable.pause);// 设置当前状态status = 0x13;break;case 0x14://设置使用停止图标play.setImageResource(R.drawable.pause);// 设置当前状态status = 0x14;break;}}}

// 为MediaPlayer播放完成事件绑定监听器mPlayer.setOnCompletionListener(new OnCompletionListener(){@Overridepublic void onCompletion(MediaPlayer mp) {current++;MainActivity.audioSeekBar.setMax(0);if (current >= 5) {current = 0;}//发送广播通知Activity更改文本框Intent sendIntent = new Intent(MainActivity.UPDATE_ACTION);sendIntent.putExtra("current", current);// 发送广播,将被Activity组件中的BroadcastReceiver接收到sendBroadcast(sendIntent);// 准备并播放音乐prepareAndPlay(musics[current]);}});

public class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(final Context context, Intent intent) {int control = intent.getIntExtra("control", -1);switch (control) {// 播放或暂停case 1:// 原来处于没有播放状态if (status == 0x11) {// 准备并播放音乐prepareAndPlay(musics[current]);status = 0x12;}// 原来处于播放状态else if (status == 0x12) {// 暂停mPlayer.pause();// 改变为暂停状态status = 0x13;}// 原来处于暂停状态else if (status == 0x13 || status == 0x14) {// 播放mPlayer.start();// 改变状态status = 0x12;}break;// 停止声音case 2:// 停止播放mPlayer.stop();status = 0x14;break;case 3:current++;if(current < 0)current = 0;prepareAndPlay(musics[current]);break;case 4:current++;if(current > musics.length-1)current = 0;prepareAndPlay(musics[current]);break;}// 广播通知Activity更改图标、文本框Intent sendIntent = new Intent(MainActivity.UPDATE_ACTION);sendIntent.putExtra("update", status);sendIntent.putExtra("current", current);// 发送广播,将被Activity组件中的BroadcastReceiver接收到sendBroadcast(sendIntent);}}

代码链接:添加链接描述

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。