Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reverse VLCJ能打倒车吗?_Reverse_Playback_Vlcj - Fatal编程技术网

Reverse VLCJ能打倒车吗?

Reverse VLCJ能打倒车吗?,reverse,playback,vlcj,Reverse,Playback,Vlcj,我正在用VLCJ编写一个java自定义视频播放器,我需要能够反向播放视频。这可能吗?简单的答案是“不” vlcj和VLC都不能反向播放视频。通过不断按反向顺序设置时间,可以显示视频正在反向播放 import com.sun.jna.Native; import com.sun.jna.NativeLibrary; import java.awt.BorderLayout; import java.awt.Dimension; import java.util.TimerTask; import

我正在用VLCJ编写一个java自定义视频播放器,我需要能够反向播放视频。这可能吗?

简单的答案是“不”


vlcj和VLC都不能反向播放视频。

通过不断按反向顺序设置时间,可以显示视频正在反向播放

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();
    }
}
import com.sun.jna.Native;
导入com.sun.jna.nativellibrary;
导入java.awt.BorderLayout;
导入java.awt.Dimension;
导入java.util.TimerTask;
导入javax.swing.JFrame;
import uk.co.caprica.vlcj.binding.LibVlc;
导入uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
导入uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
导入uk.co.caprica.vlcj.runtime.RuntimeUtil;
公共类SamplePlayer扩展JFrame{
长ttt;
嵌入式媒体播放器;
公共样本播放器(){
String vlcPath=“C:\\Program Files(x86)\\VideoLAN\\VLC”;
addSearchPath(RuntimeUtil.getLibVlcLibraryName(),vlcPath);
loadLibrary(RuntimeUtil.getLibVlcLibraryName(),LibVlc.class);
EmbeddedMediaPlayerComponent PlayerComponent=新的EmbeddedMediaPlayerComponent();
playerComp.setPreferredSize(新尺寸(800600));
此.setLayout(新的BorderLayout());
添加(playerComp);
这个包();
此.setVisible(true);
此.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ePlayer=playerComp.getMediaPlayer();
ePlayer.prepareMedia(“video.mp4”);
ePlayer.play();
java.util.Timer t=new java.util.Timer();
t、 附表(新TimerTask(){
@凌驾
公开募捐{
ePlayer.pause();
playReverse();
}
}, 1000);
}
私有无效playReverse(){
ttt=ePlayer.getLength();
java.util.Timer t=new java.util.Timer();
t、 附表(新TimerTask(){
@凌驾
公开募捐{
ttt-=5;
如果(ttt<1){
取消();
}
设置时间(ttt);
}
}, 1000, 1);
}
公共静态void main(字符串[]args){
新的SamplePlayer();
}
}