1

私は周りを検索しましたが、答えが見つかりませんでした。MediaRecorderクラスとsetMaxDuration(10000)メソッドを使用してビデオを録画しています。ただし、この 10 秒のプログレス バーで経過時間を表示したいと考えています。クラスでgetDurationメソッドを使用する例のみが表示されます。でMediaPlayerの使用方法の例を教えてもらえますか? どうもありがとう。MediaRecorderprogress bar

4

1 に答える 1

2

を使用するだけTimerです。

//fires once a second, decrease this to fire more frequently
private static final int TIMER_FREQ = 1000; 

//ProgressBar setup. You should do this in a way more tailored to your needs,
//but I've included it anyway
final ProgressBar progressBar = new ProgressBar(this); //where this is a Context
progressBar.setMax(10000);

Timer progressBarAdvancer = new Timer();
progressBarAdvancer.scheduleAtFixedRate(new TimerTask() {

        public void run() {
            progressBar.setProgress(progressBar.getProgress() + TIMER_FREQ);
        }
    },
    0, //Delay before first execution
    TIMER_FREQ); 

これによりprogressBar、録音とは別のスレッドで が動作しますが、10 秒で終了し、その時点で録音を停止したり、ファイナライズしたりできます。

于 2012-08-10T15:15:10.170 に答える