2017-03-07 29 views
0

我試圖在視頻播放期間的隨機時間內彈出小吃店,我已經獲得了視頻持續時間加上能夠運行視頻。我還可以設置處理程序在視頻持續時間內隨機顯示小吃店。我怎樣才能知道視頻從視頻開始在Android VideoView與URL的視頻視圖的實時?

Uri uri2 = Uri.parse("my video link"); 

MediaPlayer mp = MediaPlayer.create(this, uri2); 
int duration = mp.getDuration(); 
mp.reset(); 
mp.release(); 

mVideoView2.setVideoURI(uri2); 
mVideoView2.requestFocus(); 
mVideoView2.start(); 

我只有一個問題。當我調用videoview.start()時,它不會立即啓動視頻,它有一些緩衝時間。我只想在視頻播放期間的隨機時間顯示小吃店。假設視頻長度爲7秒,我的隨機時間爲3秒,緩衝時間或預加載時間爲3秒,快餐欄顯示在我的視頻之前。有什麼方法可以知道緩衝時間或視頻何時準備好,以便我可以開始調用我的處理程序。

+0

我建議檢查玩家'''getCurrentPosition'''每一秒與當前位置一個處理程序,那麼如果'''getCurrentPosition'''返回一個與你的隨機時間相等的值,則顯示吐司。注意'''getCurrentPosition''返回以毫秒爲單位的時間。 – danypata

回答

0

設置一個OnPreparedListener得到通知時視頻負載

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //play video... video is ready to play 
     } 
    }); 
+1

只是調用'mVideoView2.start();''onPrepared'方法 –

+0

如果互聯網連接不好,這將不起作用。由於連接,播放器可能會再緩衝一次或多次。在那種情況下,有一個問題。 – danypata

+0

'onPrepared'當媒體文件已準備好播放時調用,所以如果互聯網連接不好,就不會有問題,因爲媒體文件已經被緩衝了 –

相關問題