2017-08-01 40 views
3

我对http视频流使用了libvlc(de.mrmaffen:vlc-android-sdk:1.0.6)库。一切工作正常只是一个问题。如何使用libvlc在surfaceView上显示流视频的进度条?

我在我的playmovie()函数调用之前使用了progress-bar,并使用libvlc.isPlaying()布尔函数停止进度条,因此此时我的猜测是视频被加载,我们将停止进度条。

如何获得准确的时间缓冲视频和流开始停止进度条?

回答

0

您需要实现EventListener.Like这样

LibVLC vlcInstance = new LibVLC(context, new VlcOptions().getDefaultOptions()); 
org.videolan.libvlc.MediaPlayer player = new org.videolan.libvlc.MediaPlayer(vlcInstance); 
     player.setEventListener(new org.videolan.libvlc.MediaPlayer.EventListener() { 
      @Override 
      public void onEvent(org.videolan.libvlc.MediaPlayer.Event event) { 
       switch (event.type) { 
        case org.videolan.libvlc.MediaPlayer.Event.Opening: 
         //Video Opening 
         break; 
        case org.videolan.libvlc.MediaPlayer.Event.Playing: 
         //Video Playing 
         break; 
        case org.videolan.libvlc.MediaPlayer.Event.Buffering: 
         //Video Buffering 
         break; 
        case org.videolan.libvlc.MediaPlayer.Event.Stopped: 
         //Video Stopped 
         break; 
        case org.videolan.libvlc.MediaPlayer.Event.EndReached: 
         //Video EndReached/Completed 
         break; 
        case org.videolan.libvlc.MediaPlayer.Event.EncounteredError: 
         //Video EncounteredError/Failed 
         break; 
        default: 
         break; 
       } 
      } 
     }); 

Media media = new Media(vlcInstance, videoUri); 
      media.addOption(":fullscreen"); 
      media.setHWDecoderEnabled(true, false); 
      player.setMedia(media); 
      IVLCVout vlcOut = player.getVLCVout(); 
相关问题