Code: In Mainactivity.java: Public class Mainactivity extends Activity { Private MediaPlayer mediaplayer=New MediaPlayer (); Private TextView TView; Private Bservicemusic.mybinder Binder; Private int Musicvolume; Private Button startbtn,pausebtn,exitbtn; Private Serviceconnection connection=New serviceconnection () { @Override Public void onservicedisconnected (componentname arg0) { TODO auto-generated Method stub } @Override Public void onserviceconnected (componentname arg0, IBinder arg1) { TODO auto-generated Method stub Binder= (Bservicemusic.mybinder) arg1; } }; @Override protected void onCreate (Bundle savedinstancestate) { Super. OnCreate (savedinstancestate); Setcontentview (r.layout. Activity_main); tview= (TextView) Findviewbyid (r.id. TextView1); Startbtn= (Button) Findviewbyid (r.id. Startbtn); Pausebtn= (Button) Findviewbyid (r.id. Pausebtn); Exitbtn= (Button) Findviewbyid (r.id. Exitbtn); Intent intent1=New Intent (mainactivity. this, bservicemusic. class); Bindservice (Intent1, Connection, Service. Bind_auto_create); Final Intent Intent=getintent (); Startbtn.setonclicklistener (new Onclicklistener () { @Override Public void OnClick (View arg0) { TODO auto-generated Method stub Mediaplayer=mediaplayer. Create (Mainactivity. this, R.raw. nan); Mediaplayer.start (); } }); Pausebtn.setonclicklistener (new Onclicklistener () { @Override Public void OnClick (View arg0) { TODO auto-generated Method stub if (Mediaplayer.isplaying ()) { Mediaplayer.pause (); }Else{ Mediaplayer.start (); } } }); Exitbtn.setonclicklistener (new Onclicklistener () { @Override Public void OnClick (View arg0) { TODO auto-generated Method stub if (Mediaplayer.isplaying ()) { Mediaplayer.release (); } } }); } @Override protected void OnDestroy () { TODO auto-generated Method stub if (Mediaplayer.isplaying ()) { Mediaplayer.stop (); } Mediaplayer.release (); Super. OnDestroy (); } @Override Public boolean oncreateoptionsmenu (Menu menu) { Inflate the menu; This adds items to the action bar if it is present. Getmenuinflater (). Inflate (R.menu. Main, menu); return true; } @Override Public boolean onoptionsitemselected (MenuItem item) { TODO auto-generated Method stub Switch (Item.getitemid ()) { Case R.id. item1: Musicvolume=binder.getvolume (); Intent intent=New Intent (mainactivity. this, musicsetting. class); Bundle bundle=New bundle (); Bundle.putint ("Musicvolume", Musicvolume); Intent.putextras (bundle); StartActivity (Intent); Finish (); break; default: break; } return Super. onoptionsitemselected (item); } } In Bservicemusic.java: Public class Bservicemusic extends service{ Private MediaPlayer MediaPlayer; Private Audiomanager Audiomanager; Private Mybinder Binder=new mybinder (); Public class Mybinder extends binder{ Public int Getvolume () { return audiomanager.getstreamvolume (Audiomanager. Stream_music); } } @Override Public IBinder Onbind (Intent arg0) { TODO auto-generated Method stub return null; } @Override Public void onCreate () { TODO auto-generated Method stub Super. OnCreate (); Audiomanager= (Audiomanager) Getsystemservice (Context. Audio_service); Mediaplayer=mediaplayer. Create (this, R.raw. nan); Mediaplayer.start (); } } In Musicsetting.java: Public class Musicsetting extends activity{ Private ProgressBar Musicbar; @Override protected void onCreate (Bundle savedinstancestate) { TODO auto-generated Method stub Super. OnCreate (savedinstancestate); Setcontentview (r.layout. Musicsetting); Musicbar= (ProgressBar) Findviewbyid (r.id. ProgressBar1); Bundle bundle=New bundle (); Bundle=getintent (). Getextras (); Musicbar.setprogress (Bundle.getint ("Musicvolume")); } } Run Result: () Initial interface: To decrease the volume: To increase the volume: |