【发布时间】:2018-09-29 02:31:58
【问题描述】:
我使用此代码通过 xuggler 转换视频: http://www.jochenhebbrecht.be/site/2010-10-12/java/converting-resizing-videos-in-java-xuggler
转换工作正常,行:
reader.addListener(ToolFactory.makeViewer(true));
让我查看两个带有视频和统计信息的窗口。问题是,转换后窗口不会自动关闭,我不知道该怎么做。
我把上面那行改成
IMediaListener imL=ToolFactory.makeViewer(IMediaViewer.Mode.FAST_VIDEO_ONLY,true);
reader.addListener(imL);
然后我插入
reader.removeListener(imL);
reader.close();
但是在转换/任务完成后窗口并没有消失。所以我想知道如何访问这个窗口来实现一个简单的 stage.close()。
编辑:我使用的是 Java 8
EDIT2: 我现在尝试了
StageHelper.getStages().size(); //-> 1
和
Iterator<Window> windows=Window.impl_getWindows();
String window_String="";
while(windows.hasNext()){
window_String+=" |-> "+
}
System.out.println("WINDOWS: ---->"+Window.impl_getWindows());
两者都显示只有一个窗口。看来,窗口来自 “reader.addListener(ToolFactory.makeViewer(true));”不在列表中。
【问题讨论】:
-
不幸的是,我仍在使用 Java 8,我无法为这个项目进行更改。
-
ToolFactory的班级来自 Xuggler?但似乎 Xuggler 使用的是 Swing 而不是 JavaFX,所以获取 windows 的正确方法是java.awt.Window.getWindows()。 -
谢谢你成功了!
标签: javafx java-8 stage xuggle