Androidの画面上のボタンが押され、すべてのオーディオ品質が優れている場合、eclipse:javaでいくつかのオーディオファイルを適切に再生することに問題はありません。しかし、私が作ろうとしているプログラムはビートメーカーのスタジオで、ボタンを押すのはとても速いです。直前に同じボタンを押してから、ボタンを押してオーディオ サンプルを発射できるようになるまでには、わずかな遅延があります (約 0.5 秒)。希望の時間にボタンを押すことができることが非常に重要な場合、明らかにこれは音楽アプリに問題をもたらします. アプリケーションでボタンをより速く押すことができるようにする方法について何かアドバイスはありますか?
package studio.music;
import android.app.Activity;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class StudioActivity extends Activity implements OnClickListener{
MediaPlayer mp1,mp2;
Button button_one,button_two;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { //The activity is being Created Create any threads/streams here
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp1 = MediaPlayer.create(this, R.raw.bassfifteen);
mp2 = MediaPlayer.create(this, R.raw.snarenine);
button_one = (Button) findViewById(R.id.buttonOne);
button_one.setOnClickListener(this);
button_two = (Button) findViewById(R.id.buttonTwo);
button_two.setOnClickListener(this);
}
@Override
protected void onStart(){ //The activity is about to become visible
super.onStart();
//TODO set state for program start
}
@Override
protected void onResume(){ //The activity has become visible(it is now "resumed")
super.onResume();
//TODO set state for program resume
}
@Override
protected void onPause(){ // Another activity is taking focus (this activity will be "paused")
super.onPause();
//TODO set state for program hang
}
@Override
protected void onStop(){ // This activity is no longer visibled (it is "stopped")
super.onStop();
//TODO set state for program drop back
}
@Override
protected void onDestroy(){ // The Activity is about too be destoryed (exiting) Destroy all threads and streams here
super.onDestroy();
//TODO set state for program exit
}
@Override
public void onClick(View v) {
//Where the audio is fired
if(v == button_one){ mp1.start();}
if(v == button_two){ mp2.start();}
}
}