1

学校向けのサンプラーアプリを作成しています。ボタンを押し続けるとサンプルを再生し、離すと停止するコードを作成しました。私の問題は、レイテンシーが多すぎることです。ボタンを押してから音が出るまでに時間がかかりすぎます。

私のオーディオファイルは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;        
  }
4

1 に答える 1

2

ボタンを押す前にオブジェクトを作成sampleし、ハンドラー コードで開始/停止機能を使用します。

于 2012-10-24T11:43:56.160 に答える