'Android Studio Button doesn't play onClick sound after being pressed too often
I have a few buttons that play sounds through the mediaplayer everytime you tap them.
If you tap them too often though, they go silent. All of them, no matter what button you hit and it doesn't matter how much time you leave between taps.
Afterwards I have to completely kill the app in order to get sound again.
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button bt_kick, bt_closed_hat, bt_clap, bt_snare, bt_subdrop, bt_open_hat, bt_shaker_high, bt_shaker_low;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_kick = (Button) findViewById(R.id.kick);
bt_closed_hat = (Button) findViewById(R.id.closed_hat);
bt_clap = (Button) findViewById(R.id.clap);
bt_snare = (Button) findViewById(R.id.snare);
bt_subdrop = (Button) findViewById(R.id.subdrop);
bt_open_hat = (Button) findViewById(R.id.open_hat);
bt_shaker_high = (Button) findViewById(R.id.shaker_high);
bt_shaker_low = (Button) findViewById(R.id.shaker_low);
bt_kick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.kick);
mp.start();
}
});
bt_closed_hat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.closed_hat);
mp.start();
}
});
bt_clap.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.clap);
mp.start();
}
});
bt_snare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.snare);
mp.start();
}
});
bt_subdrop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.subdrop);
mp.start();
}
});
bt_open_hat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.open_hat);
mp.start();
}
});
bt_shaker_high.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.shaker_high);
mp.start();
}
});
bt_shaker_low.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.shaker_low);
mp.start();
}
});
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
