按下按钮后播放声音的延迟太多

时间:2012-10-24 11:40:09

标签: android audio

我正在为学校创建一个采样器应用程序。我编写的代码在按住按钮时播放样本,在我释放时停止播放。我的问题是它有太多的延迟。按下按钮播放声音后需要很长时间。

我的音频文件是mp3。

这是我的代码:

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;        
  }

1 个答案:

答案 0 :(得分:2)

在按下按钮之前创建sample对象,然后只使用处理程序代码中的启动/停止功能。