1
라이브 벽지 응용 프로그램을 만들고 있습니다. 나는이 응용 프로그램에서 어떤 특정 간격 후에 동영상 개체가 surfaceHolder
canvas
에 그 프레임을 그릴 것입니다.어떻게 TimerTask를 계속 실행할 수 있습니까?
내 코드
public void startTimer() {
timer = new Timer();
initializeTimerTask();
}
private void initializeTimerTask() {
timerTask = new TimerTask() {@
Override
public void run() {
Canvas canvas = holder.lockCanvas();
canvas.save();
// Adjust size and position so that
// the image looks good on your screen
canvas.scale(1f, 1f);
movie.draw(canvas, -500, 0);
canvas.restore();
holder.unlockCanvasAndPost(canvas);
movie.setTime((int)(System.currentTimeMillis() % movie.duration()));
}
};
timer.schedule(timerTask, 33);
}
입니다하지만이 응용 프로그램을 실행할 때 하나의 프레임은 표면에 표시되며,이 시간이 지남에 따라 변경되지 않습니다.
내 코드의 오류는 무엇입니까? 표면이 시간이 지남에 따라 변하는 것을 어떻게 볼 수 있습니까?