java - When I click pause button it paused but when i clicked again play button , it starts the song from start -
how can start song pressed pause button, me out new media in android , unaware media properties buttons working fine , want start song @ point stopped -
public class mainactivity extends activity { mediaplayer mediaplayer; button play, stop,pause; uri path; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); play = (button) findviewbyid(r.id.play); stop = (button) findviewbyid(r.id.stop); pause = (button) findviewbyid(r.id.pause); play.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { path = uri.parse("android.resource://" + getpackagename() + "/"+ r.raw.chelseafc); mediaplayer = mediaplayer.create(mainactivity.this,path); mediaplayer.start(); } }); stop.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (mediaplayer.isplaying()) { mediaplayer.stop(); mediaplayer.release(); } } }); pause.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (mediaplayer.isplaying()) { mediaplayer.pause(); } } }); } @override protected void ondestroy() { if(mediaplayer!=null && mediaplayer.isplaying()){ mediaplayer.stop(); mediaplayer.release(); mediaplayer= null; } super.ondestroy(); } }
you have start button, pause button , stop button. there no resume button. when click start after pressing pause, media loads again , starts beginning (length = 0). have seek paused position , resume :
define global variable :
int length = 0; in pause listener:
length=mediaplayer.getcurrentposition(); in resume (create resume listener):
mediaplayer.seekto(length); mediaplayer.start(); update
ideally pause , resume button same except toggle on-off changing image resource between play , pause pngs , execute relevant code of boolean variable :
in pause button listener:
if(play) { //paused play =false; pause.setimageresource(r.id.pause); length=mediaplayer.getcurrentposition(); mediaplayer.pause(); }else { //resumed play = true; pause.setimageresource(r.id.resume); mediaplayer.seekto(length); mediaplayer.start(); } correct wherever necessary typed in editor not in ide.
Comments
Post a Comment