Reverse VLCJ能打倒车吗?
我正在用VLCJ编写一个java自定义视频播放器,我需要能够反向播放视频。这可能吗?简单的答案是“不”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和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();
}
}