利用SeekBar实现简单音乐播放器
一.Demo简介
利用AIDL为Activity绑定服务,利用Handler机制,发送消息更新SeekBar的UI,利用计时器定时更新SeekBar的进度。实现对音乐的开始播放,到暂停,继续,以及停止播放的功能。以及实现拖动进度条播放音乐的功能。
二.AIDL接口
利用AIDL机制提供给MainActivity访问MyMusicService的方法,实现播放暂停等功能。
三.主要类代码
1.MyMusicService
package my.com.mymusicp;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.support.annotation.Nullable;
import android.util.Log;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
/**
* Created by c_ljf on 16-12-26.
*/
public class MyMusicService extends Service {
private String tag="MyMusicService";
private MediaPlayer mediaPlayer;
@Override
public void onCreate() {
super.onCreate();
mediaPlayer = new MediaPlayer();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return new MyMusicBinder();
}
class MyMusicBinder extends IMyMusicService.Stub{
@Override
public void play() throws RemoteException {
playmusic();
}
@Override
public void pause() throws RemoteException {
pausemusic();
}
@Override
public void stop() throws RemoteException {
stopmusic();
}
@Override
public void continuePlay() throws RemoteException {
rePlayMusic();
}
@Override
public void seekPlayProgress(int position) throws RemoteException {
seekPlayPositiom(position);
}
}
//播放音乐
public void playmusic(){
mediaPlayer.reset();
String url = "sdcard/Music/Fade