0

私が理解しようとしているのはHandler、メトロノームのようなものを使用して、特定の時間枠で単純なビートをループする方法です。私はたくさん読んで、私ができることをいくつか見ましたが、最善の方法は作ることHandlerです、これは本当ですか?それで、読んだ後、私は何かを試しましたが、それを正確に理解することができず、現在は機能していません。

編集:

これは私が今持っているものです、それはもうクラッシュしていませんが、それはそれがそうであるべきであるように音を再生していません。私は何を間違えましたか?

public class MainActivity extends Activity {

    private MediaPlayer mpBeat;

    private Handler playBeatHandler = new Handler();
    private Runnable playBeatTask = new Runnable() {
        public void run() {
            mpBeat.start();
            playBeatHandler.postDelayed(this, 500);
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mpBeat = MediaPlayer.create(this, R.raw.beat);
        playBeatHandler.postDelayed(playBeatTask, 500);        
    }
}
4

2 に答える 2

0

これは私が出くわしたものであり、安定したビートを構築するのに大いに役立ちました!

http://code.google.com/p/android-sleep-metronome/

于 2012-06-07T16:50:52.783 に答える
-1
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        playBeatHandler.postDelayed(playBeatTask, 0); // now works       
    }
于 2012-05-24T09:51:25.113 に答える