Media Player start stop start

You're calling mpButtonClick1.reset() after mpButtonClick1.stop() - don't do that:

if (mpButtonClick1.isPlaying()) {
    mpButtonClick1.stop();
    mpButtonClick1.reset(); //<--------- calling reset(), remove this line
}

The docs for reset() say:

Resets the MediaPlayer to its uninitialized state. After calling this method, you will have to initialize it again by setting the data source and calling prepare().

Remove mpButtonClick1.reset() and it should work.

Keep in mind that MediaPlayer works as a state machine, which means that if you call methods in the wrong order, you'll get problems. Please read about MediaPlayer here and here.


Try this: You should use only one mediaplayer object

    public class PlayaudioActivity extends Activity {

    private MediaPlayer mp;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button b = (Button) findViewById(R.id.button1);
    Button b2 = (Button) findViewById(R.id.button2);
    final TextView t = (TextView) findViewById(R.id.textView1);

    b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        stopPlaying();
        mp = MediaPlayer.create(PlayaudioActivity.this, R.raw.far);
        mp.start();
        }

    });

    b2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        stopPlaying();
        mp = MediaPlayer.create(PlayaudioActivity.this, R.raw.beet);
        mp.start();
        }
    });
    }

    private void stopPlaying() {
        if (mp != null) {
            mp.stop();
            mp.release();
            mp = null;
       }
    }
}

Change your class with below code:

remove reset();.

init well all components:

MediaPlayer mpButtonClick1;
MediaPlayer mpButtonClick2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.prvi);

     mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm);
     mpButtonClick2 = MediaPlayer.create(this, R.raw.splashs);


    Button dugme = (Button) findViewById(R.id.dugme);
    dugme.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (mpButtonClick1.isPlaying()) {
                mpButtonClick1.stop();
             }
            else {              
                mpButtonClick1.start();
            }
         }   

    });

Try to use pause instead of stop.

Reason: if you pause the MediaPlayer, then you can resume it later. However, if you use stop, almost any other method won't work and you will have to prepare the MediaPlayer again (or create a new one).

enter image description here

More info: here and here

PS: don't forget to release the memory when you finish using the resources.