2014-11-11 10 views

ответ

1

Простой ответ «нет».

Ни Vlcj, ни VLC не могут воспроизводить видео в обратном порядке.

0

Постоянно устанавливая время в обратной последовательности, может показаться, что видео воспроизводится в обратном порядке.

import com.sun.jna.Native; 
import com.sun.jna.NativeLibrary; 
import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.util.TimerTask; 
import javax.swing.JFrame; 
import uk.co.caprica.vlcj.binding.LibVlc; 
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent; 
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer; 
import uk.co.caprica.vlcj.runtime.RuntimeUtil; 

public class SamplePlayer extends JFrame { 

    long ttt; 
    EmbeddedMediaPlayer ePlayer; 

    public SamplePlayer() { 
     String vlcPath = "C:\\Program Files (x86)\\VideoLAN\\VLC"; 

     NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), vlcPath); 
     Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class); 

     EmbeddedMediaPlayerComponent playerComp = new EmbeddedMediaPlayerComponent(); 
     playerComp.setPreferredSize(new Dimension(800, 600)); 

     this.setLayout(new BorderLayout()); 
     this.add(playerComp); 
     this.pack(); 
     this.setVisible(true); 
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     ePlayer = playerComp.getMediaPlayer(); 
     ePlayer.prepareMedia("video.mp4"); 

     ePlayer.play(); 

     java.util.Timer t = new java.util.Timer(); 
     t.schedule(new TimerTask() { 

      @Override 
      public void run() { 
       ePlayer.pause(); 
       playReverse(); 
      } 
     }, 1000); 
    } 

    private void playReverse() { 
     ttt = ePlayer.getLength(); 

     java.util.Timer t = new java.util.Timer(); 
     t.schedule(new TimerTask() { 

      @Override 
      public void run() { 
       ttt -= 5; 
       if (ttt < 1) { 
        cancel(); 
       } 
       ePlayer.setTime(ttt); 
      } 
     }, 1000, 1); 
    } 

    public static void main(String[] args) { 
     new SamplePlayer(); 
    } 
}