-1

正常に動作する Android 用のサウンド レコード アプリケーションを開発しました。今、私は録音時間を表示したいと思いますTextView。どうすれば実装できますか?

4

4 に答える 4

7

私の知る限り、その時点で記録すると、TimerTaskが機能しない可能性があるため、CountDownTimerを使用します。

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();を停止します。

于 2012-11-30T05:50:09.900 に答える
2

android.widget.Chronometer時間を記録するために使用します。

com.example.android.apis.view.ChronometerDemo使用法については、ApiDemosを参照してください。

于 2012-11-30T05:51:25.813 に答える
1

録音を開始したら、タイマーを開始します

これがコードintminute= 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();
    }
    });
于 2012-11-30T05:48:07.700 に答える
1

あなたはアンドロイドでタイマーとタイマータスクを使うことができます。ここをチェックしてください... http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/

于 2012-11-30T05:49:37.030 に答える