score:0

try this (just define media player in public area)

    public class main extends activity {

mediaplayer mymediaplayer = null;
/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    //related to the media player

    mymediaplayer = mediaplayer.create(main.this, r.raw.audio);

    //button related to play btn
    button mybuttonone = (button) findviewbyid(r.id.btn_audio);
    mybuttonone.setonclicklistener(new onclicklistener() {

        @override
        public void onclick(view v) {
            mymediaplayer.start();

        }
    });

    //button related to stop btn
    button mybuttontwo = (button) findviewbyid(r.id.btn_stop);
    mybuttontwo.setonclicklistener(new onclicklistener() {

        @override
        public void onclick(view v) {
            mymediaplayer.pause();

        }
    });

}
}

score:0

the point is implement mediaplayer in the loop of if or any loop

public void onclick(view v) {
    // todo auto-generated method stub
    switch (v.getid()){
    case r.id.buttonplay:
        //mp.reset();
        mp=mediaplayer.create(ur context.this, r.raw."ursong.mp3");
        mp.start();

        break;
    case r.id.buttonstop:
        mp.stop();

        break;
    }
}

score:0

you must move this code :

final mediaplayer mymediaplayer = mediaplayer.create(main.this, r.raw.audio);

in :

mybuttonone.setonclicklistener(new onclicklistener() {

    @override
    public void onclick(view v) {
        final mediaplayer mymediaplayer = mediaplayer.create(main.this,r.raw.audio);
        mymediaplayer.start();

    }
});

score:1

if you want to start /stop sound on button click then use mediaplayer.start() and mediaplayer.pause() to pause currently playing sound which start again on start button click . and override activity onpause to finally stop and free mediaplayer. make changes in your code as :

onstop button click :

mybuttontwo.setonclicklistener(new onclicklistener() {

        @override
        public void onclick(view v) {

            mymediaplayer.pause();  //>>pause current sound
            mymediaplayer.seekto(0); //>> seek to start it again 

        }
    });

and override onpause method of activity :

  @override
   protected void onpause{
      super.onpause();
       mymediaplayer.stop();  //>>> stop mymediaplayer
       mymediaplayer.release(); //>>> free mymediaplayer
     }

Related Query

More Query from same tag