case R.id.previous:
ms.playPrevious();//2
break;
case R.id.next:
ms.playNext();
break;
case R.id.stop:
if (isStop) {
ms.restart();
}
else {
ms.parse();
}
isStop = !isStop;
break;
case R.id.stopService:
Intent intent = new Intent("com.intent.musicplayer.MusicService");
unbindService(sc);
stopService(intent);
break;
default:
break;
}
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Intent intent = new Intent("com.intent.musicplayer.MusicService");
bindService(intent,sc,Context.BIND_AUTO_CREATE);//当然你可以用startService的方式启动服务,这样结束了activity以后并不会结束service
}
private String transferMilliToTime(int millis){
DateFormat format = new SimpleDateFormat("mm:ss");
String result = format.format(new Date(millis));
return result;
}
private class MusicReceiver extends BroadcastReceiver{//3
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getIntExtra(MusicService.CURTIME,0)!=0) {
double curTimeInt = intent.getIntExtra(MusicService.CURTIME,0);
curTime.setText(transferMilliToTime((int)curTimeInt));
double result = curTimeInt/totalTimeInt*100;
seekBar.setProgress((int) Math.floor(result));
}
else if(intent.getIntExtra(MusicService.TOTALTIME,0)!=0) {
totalTimeInt = intent.getIntExtra(MusicService.TOTALTIME,0);
totalTime.setText(transferMilliToTime((int)(totalTimeInt)));
}
else if (!TextUtils.isEmpty(intent.getStringExtra(MusicService.NAME))) {
title.setText(intent.getStringExtra(MusicService.NAME));
}