我正在为学校创建一个采样器应用程序。我编写的代码在按住按钮时播放样本,在我释放时停止播放。我的问题是它有太多的延迟。按下按钮播放声音后需要很长时间。
我的音频文件是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;
}
答案 0 :(得分:2)
在按下按钮之前创建sample
对象,然后只使用处理程序代码中的启动/停止功能。