代码改变世界

Android第三次作业

2018-12-08 15:04  蓝雨11  阅读(203)  评论(0编辑  收藏  举报

Android简易音乐播放器

主要功能介绍

1.实现音乐暂停,播放,下一首,上一首,进度条功能。

2.自动获取本地音乐

3.自动生成本地音乐列表

程序运行截图

列表界面:

 

播放界面:

 

核心代码解析

获取本地音乐列表

代码:定义音乐路径,名字

public class MusicAddress {
private String name;
private String path;

public String getName() {
return name;
}

public String getPath() {
return path;
}

public void setName(String name) {
this.name = name;
}

public void setPath(String path) {
this.path = path;
}
}

 

获取所有本地音乐代码(获得歌名)使用适配器传值赋值

String getPathByName(String name){
for(MusicAddress pojo : list_music_pojo){
if(name.equals(pojo.getName())){
return pojo.getPath();
}
}
return null;
}
void getAllMusic(){
Cursor cursor = this.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,
null,
null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
list_music_pojo = new ArrayList<MusicAddress>();
if(cursor.moveToFirst()){
do{
MusicAddress pojo = new MusicAddress();
pojo.setName(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)));
pojo.setPath(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA)));
list_name.add(pojo.getName());
list_music_pojo.add(pojo);
}while (cursor.moveToNext());
}

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list_name);
list_view_music.setAdapter(adapter);
}

设置暂定,播放,切歌,列表核心代码:

播放,暂停

play_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(!binder.isPlay()){
binder.play();
play_button.setBackgroundResource(R.mipmap.stop);
}else {
binder.stop();
play_button.setBackgroundResource(R.mipmap.play);
}
}
});
上一首
last_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
binder.playLast();
}
});

next_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
binder.playLast();
}
});
下一首
next_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
binder.playLast();
}
});//进程通信
列表
ImageButton imageButton=(ImageButton)findViewById(R.id.list_button);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(MusicPlaySing.this,MusicPlaySing.class);
startActivity(intent);
}
});
提示:app下载后,如果出现闪退,请在手机应用设置中将可读权限打开(本app)。
视频运行图:

      视频链接:https://coding.net/u/lanyuqingxia/p/shipin/git/raw/master/add.mp4

代码链接:https://git.coding.net/lanyuqingxia/1600802069_Music.git
APP链接:https://coding.net/u/lanyuqingxia/p/1600802069_Music/git/raw/master/app/release/app-release.apk