代码改变世界

Android第三次作业

2018-12-11 21:19  海海251  阅读(217)  评论(0编辑  收藏  举报

一、实现的功能

1.读取本地音乐文件

2.实现音乐的播放、暂停、停止、上一首和下一首

二、实现界面截图

 

三、主要代码

1、开始,暂停,停止,上一首,下一首

复制代码

public void onClick(View v) {
switch (v.getId()){
case R.id.Play:
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();//开始播放
}
break;
case R.id.Pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();//暂停播放
}
break;
case R.id.Stop:
if(mediaPlayer.isPlaying()){
mediaPlayer.reset();//停止播放
initMediaPlayer();
}
break;
case R.id.last:
Cut_song(--position); //上一曲
break;
case R.id.next:
Cut_song(++position);//下一曲
break;
default:
break;
}
}

复制代码

2、切歌

复制代码

private void Cut_song(int Position) {
//切歌
if (position < 0) {
position = Position = list.size() - 1;
} else if (position > list.size() - 1) {
position = Position = 0;
}
if (mediaPlayer == null) {
mediaPlayer = new MediaPlayer();
}
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(list.get(position).path);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}

复制代码

3、从sd卡中搜索到音乐后,输出音乐信息

复制代码
if (cursor != null) {
while (cursor.moveToNext()) {
main4 song = new main4();
song.song = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
song.singer = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
song.path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
song.duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
song.size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));
if (song.size > 1000 * 800) {
if (song.song.contains("-")) {
String[] str = song.song.split("-");
song.singer = str[0];
song.song = str[1];
}
list.add(song);
}
复制代码
 

4、歌曲选择列表中第一首歌

复制代码

private void initMediaPlayer() {
try {
mediaPlayer.setDataSource(list.get(0).path);
mediaPlayer.prepare();//让mediaPlayer进入准备状态
} catch (Exception e) {
e.printStackTrace();
}
}

复制代码

3.代码链接:https://coding.net/u/haihai250/p/music/git

4.APK链接:https://coding.net/u/haihai250/p/music/git/blob/master/app-release.apk

5.视频链接:https://v.youku.com/v_show/id_XMzk5Njc3MDg2MA==.html?x&sharefrom=android&sharekey=ea5d0a11af1d5da61e9f84b4d4c9e9140