user3238859
user3238859

Reputation: 23

Trying to play Media, app crashes

This is the block of code I am trying to execute when the app crashes.

    bsharks.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v){ 
            if (ducks.isPlaying()) {
                ducks.stop();
                ducks.prepareAsync();
                ducks.seekTo(0);
            }
            else{
                ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);
                ducks.start();
            }
        }
    });

And the log cat (full name blocked out).

Upvotes: 0

Views: 58

Answers (2)

BABU K
BABU K

Reputation: 917

We need to create Mediaplayer object before we using that object. So create Mediaplayer object in onCreate method of An actvity. Place following line in onCreate.

    ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);

and put remaining code in button's onClick event as follows.

bsharks.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v){            
    if (ducks.isPlaying()) {
            ducks.stop();
            ducks.prepareAsync();
            ducks.seekTo(0);
        }
    else
        {   
            ducks.start();
        }
    }
 });

Upvotes: 0

No_Rulz
No_Rulz

Reputation: 2719

Change your code like the below

MediaPlayer ducks = MediaPlayer.create(MainActivity.this, R.raw.sharks);
bsharks.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v){ 
            if (ducks.isPlaying()) {
                ducks.stop();
                ducks.prepareAsync();
                ducks.seekTo(0);
            }
            else{

                ducks.start();
            }
        }
    });

Upvotes: 2

Related Questions