Reputation: 23
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
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
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