2016-12-28 53 views
1

我想等到視頻的指定時間後再執行smthg。如何使它在Android? handler.postDelaywait評論是不明智的,我認爲。Android如何等待視頻的指定時間

+0

_等待視頻的指定時間_不要忘記視頻可能會暫停,如果這是來自互聯網,它可能會停下來下載其餘的視頻,... – AxelH

回答

1

您可以使用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

它只能運行一次。但我不能更多地使用該代碼。如何在每種情況下使用switch/case。我試過test2,test3 ...不工作 – mehmet

+0

如果在每個開關櫃中有不同的事情要做,那麼在每種情況下寫不同的倒計時器,我將更新我的代碼 – Redman

+0

在Redman提出的定時器回調onTick上,調用'MediaPlayer'實例上的'getCurrentPosition'來找出視頻中的實際位置。 – selbie

1

假設你正在使用android.media.MediaPlayer類播放視頻。

有些方法可以幫助您.getCurrentPosition()(返回以毫秒爲單位的當前時間)和.getDuration()(返回以毫秒爲單位的視頻持續時間)。您可以每秒(或任何其他時間間隔).getCurrentPosition()調用,當它返回指定的時間時,您可以執行所需的操作。

同樣的技術可以應用於Vitamio播放器或ExoPlayer,或任何其他能夠返回當前位置的技術。