2016-12-28 9 views
1

動画の指定時刻まで待ってからsmthgしたいです。どのようにアンドロイドでそれを作ることができますか? handler.postDelaywaitコメントは賢明ではないと思います。Androidビデオの指定時刻を待つ方法

+0

動画の指定時間_動画が一時停止している可能性があることを忘れないでください。インターネットからのものであれば、残りの動画のダウンロードを停止する可能性があります。 – AxelH

答えて

1

あなたがビデオを再生するためandroid.media.MediaPlayerクラスを使用していると仮定するとcountDownTimer

Switch(v.getId()){ 

    case R.id.Yourid1: 

    CountDownTimer test= new CountDownTimer(3000,1000) { //count down from 3 sec to 1 sec 

      @Override 
      public void onTick(long millisUntilFinished) { 
       //do some thing after starting timer 

      } 

      @Override 
      public void onFinish() { 

      // do something after timer is finished 
      } 
     }; 


     test.start(); 

break; 

    case R.id.YourId2: 


     CountDownTimer test1= new CountDownTimer(3000,1000) { //count down from 3 sec to 1 sec 

      @Override 
      public void onTick(long millisUntilFinished) { 
       //do some thing after starting timer 

      } 

      @Override 
      public void onFinish() { 

      // do something after timer is finished 
      } 
     }; 


     test1.start(); 

     } 

break; 
+0

私はそのコードをもっと使えません。スイッチ/ケースで各ケースステートメントでどのように使用できますか?私はtest2、test3を試してみました... – mehmet

+0

それぞれのスイッ​​チのケースでは、それぞれ異なるカウントダウンタイマーを書き込む場合、私は自分のコードを更新します – Redman

+0

タイマーコールバックonTickでは、Redmanは、 'MediaPlayer'インスタンスで' getCurrentPosition'を呼び出して、実際にビデオのどこにあるのかを調べます。 – selbie

1

を使用することができます。

.getCurrentPosition()(現在の時間をミリ秒で返します)および.getDuration()(時間をミリ秒単位で返します)があります。

毎秒(または他の時間間隔).getCurrentPosition()を呼び出すことができ、指定された時間を返すときに必要なことを実行できます。

同じテクニックは、VitamioプレーヤーまたはExoPlayer、または現在の位置を返すことができるその他のプレーヤーに適用できます。

関連する問題