2012-05-24 2 views
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);   
    } 
} 
+0

어떤 오류가 있습니까? 전체 logcat 로그를 제공하십시오 ... – Selvin

+0

나는 logcat을 추가했습니다! – MartijnG

+1

onCreate에서 super.onCreate 뒤에'field = MediaPlayer.create (this, R.raw.beat)'를 삽입하십시오. ...이 활동이 완전하게 만들어지기 전에 – Selvin

답변

-1
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     playBeatHandler.postDelayed(playBeatTask, 0); // now works  
    } 
+0

불행히도 문제가 해결되지 않습니다. 오류가있는 메인 포스트의 내 logcat을보십시오. – MartijnG

관련 문제