android后台音乐服务自动播放,Android实现简单音乐播放器(startService和bindService后台运行程序)...

Android实现简单音乐播放器(MediaPlayer)

开发工具:Andorid Studio 1.3

运行环境:Android 4.4 KitKat

工程内容

实现一个简单的音乐播放器,要求功能有:

播放、暂停功能;

进度条显示播放进度功能

拖动进度条改变进度功能;

后台播放功能;

停止功能;

退出功能;

代码实现

导入歌曲到手机SD卡的Music目录中,这里我导入了4首歌曲:仙剑六里面的《誓言成晖》、《剑客不能说》、《镜中人》和《浪花》,也推荐大家听喔(捂脸

然后新建一个类MusicService继承Service,在类中定义一个MyBinder,有一个方法用于返回MusicService本身,在重载onBind()方法的时候返回

public classMusicService extendsService {

public final IBinder binder = new MyBinder();

public classMyBinder extendsBinder{

MusicService getService() {

return MusicService.this;

}

}

@Override

publicIBinder onBind(Intent intent) {

return binder;

}

}

在MusicService中,声明一个MediaPlayer变量,进行设置歌曲路径,这里我选择歌曲1作为初始化时候的歌曲

private String[] musicDir = new String[]{

Environment.getExternalStorageDirectory().getAbsolutePath() + "/Music/仙剑奇侠传六-主题曲-《誓言成晖》.mp3",

Environment.getExternalStorageDirectory().getAbsolutePath() + "/Music/仙剑奇侠传六-主题曲-《剑客不能说》.mp3",

Environment.getExternalStorageDirectory().getAbsolutePath() + "/Music/仙剑奇侠传六-主题曲-《镜中人》.mp3",

Environment.getExternalStorageDirectory().getAbsolutePath() + "/Music/仙剑奇侠传六-主题曲-《浪花》.mp3"};

private int musicIndex = 1;

public static MediaPlayer mp = new MediaPlayer();

publicMusicService() {

try {

musicIndex = 1;

mp.setDataSource(musicDir[musicIndex]);

mp.prepare();

} catch (Exception e) {

Log.d("hint","can't get to the song");

e.printStackTrace();

}

}

设计一些歌曲播放、暂停、停止、退出相应的逻辑,此外我还设计了上一首和下一首的逻辑

publicvoidplayOrPause() {

if(mp.isPlaying()){

mp.pause();

} else {

mp.start();

}

}

publicvoidstop() {

if(mp != null) {

mp.

你可能感兴趣的:(android后台音乐服务自动播放,Android实现简单音乐播放器(startService和bindService后台运行程序)...)