MianActivity
private Intent service;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button start = (Button) findViewById(R.id.start);
Button pause = (Button) findViewById(R.id.pause);
Button stop = (Button) findViewById(R.id.stop);
start.setOnClickListener(this);
pause.setOnClickListener(this);
stop.setOnClickListener(this);
}
@Override
public void onClick(View v) {
service = new Intent(MainActivity.this,MyService.class);
switch (v.getId()) {
case R.id.start:
service.putExtra("flag", 0);
break;
case R.id.pause :
service.putExtra("flag", 1);
break;
case R.id.stop :
service.putExtra("flag", 2);
break;
default:
break;
}
startService(service);
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
stopService(service);
}
MyService
public class MyService extends Service {
private MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
player = new MediaPlayer();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
int flag = intent.getIntExtra("flag", -1);
switch (flag) {
case 0: //开始
try {
player.setDataSource("mnt/sdcard/yeche.mp3");
player.prepare();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.start();
break;
case 1: //暂停
player.pause();
break;
case 2: //停止
player.stop();
break;
default:
break;
}
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
if(player!=null)
{
player.stop();
player.release();
}
super.onDestroy();
}
}