后台音乐服务自动播放,Android实现简单音乐播放器(startService和bindService后台运行程序)..."/>
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后台运行程序)...
发布评论