如何在Android中显示录制时间?

时间:2012-11-30 05:39:04

标签: android audio recording

我为Android开发了一个工作正常的录音应用程序。现在我想以TextView显示录制时间。我该如何实施呢?

4 个答案:

答案 0 :(得分:4)

使用CountDownTimer因为根据我的知识,当你在那时录制可能是TimerTask不起作用

CountDownTimer t;

t = new CountDownTimer( Long.MAX_VALUE , 1000) {

        @Override
        public void onTick(long millisUntilFinished) {

            cnt++;
            String time = new Integer(cnt).toString();

            long millis = cnt;
               int seconds = (int) (millis / 60);
               int minutes = seconds / 60;
               seconds     = seconds % 60;

               txtcount.setText(String.format("%d:%02d:%02d", minutes, seconds,millis));

        }

        @Override
        public void onFinish() {            }
    };

启动计时器t.start(); 停止计时器t.cancel();

答案 1 :(得分:2)

使用android.widget.Chronometer记录时间。

请参阅ApiDemos中的com.example.android.apis.view.ChronometerDemo了解使用情况。

答案 2 :(得分:1)

开始录制时启动计时器

这是代码     int minute = 0,seconds = 0,hour = 0;

textView = (TextView) view.findViewById(R.id.textView1);
final Timer t = new Timer("hello", true);
t.schedule(new TimerTask() {

@Override
public void run() {
    textView.post(new Runnable() {

    public void run() {
        seconds++;
        if (seconds == 60) {
        seconds = 0;
        minute++;
        }
        if (minute == 60) {
        minute = 0;
        hour++;
        }
        textView.setText(""
            + (hour > 9 ? hour : ("0" + hour)) + " : "
            + (minute > 9 ? minute : ("0" + minute))
            + " : "
            + (seconds > 9 ? seconds : "0" + seconds));

    }
    });

    }
    }, 1000, 1000);

    view.findViewById(R.id.stop).setOnClickListener(
    new OnClickListener() {

    public void onClick(View v) {
        t.cancel();
    }
    });

答案 3 :(得分:1)

你可以在android中使用Timer和TimerTask。 点击这里...... http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/