Cedric Geerinckx
Cedric Geerinckx

Reputation: 11

Too much delay playing a sound after pressing button

I'm creating a sampler app for school. I've wrote code which plays a sample when I press and hold a button and stops when I release it. My problem is that it has too much latency. It takes too long after I press the button to play the sound.

My audio files are mp3's.

Here's my code:

smpl1.setOnTouchListener(new View.OnTouchListener() 
{   
  public boolean onTouch(View arg0, MotionEvent theMotion)
  {
    switch (theMotion.getAction())
    {
      case MotionEvent.ACTION_DOWN: 
        sample = MediaPlayer.create(MainActivity.this, R.raw.bassdrum);
        smpl1.setText("ON");
        smpl1.setTextColor(Color.GREEN);
        sample.start();
        break;
      case MotionEvent.ACTION_UP:
        smpl1.setText("OFF");
        smpl1.setTextColor(Color.RED);
        sample.stop();
        break;
    }
    return true;        
  }

Upvotes: 1

Views: 427

Answers (1)

cjk
cjk

Reputation: 46415

Create the sample object before the button press, then just use the start / stop functionality in your handler code.

Upvotes: 2

Related Questions