2

I tried all the solutions provided in this site & still i am getting this error.Don't know why it happen! please help me.

Here my code.

    MediaPlayer  mediaPlayer; 
     mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.square);

                mediaPlayer.setOnErrorListener(MainActivity.this);
                mediaPlayer.start();

     mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            mWinMusic[blocks].release();
                        }
                    });



    public boolean onError(MediaPlayer mp, int what, int extra) {

    mp = MediaPlayer.create(getApplicationContext(), R.raw.square);

          mp.start();
            return true;



}

1 Answers1

0

Create player like this and add mediaPlayer.prepare(); and when ready then start in onPrepared()

public class MainActivity extends Activity {

    MediaPlayer mediaPlayer;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.square);
            mediaPlayer.prepare();
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mediaPlayer.start();
                }
            });
            mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
                @Override
                public boolean onError(MediaPlayer mp, int what, int extra) {
                    Toast.makeText(MainActivity.this, "Some problem ", Toast.LENGTH_LONG).show();
                    return false;
                }
            });


            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    Toast.makeText(MainActivity.this, "track completed", Toast.LENGTH_SHORT).show();
                    //mWinMusic[blocks].release();
                }
            });
        } catch (Exception e) {
            Toast.makeText(MainActivity.this, "Some problem " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }
}
Sohail Zahid
  • 8,099
  • 2
  • 25
  • 41