我试图在可执行 jar 文件中打开 AVI,我发现的唯一解决方案是使用 FileOutputStream 并在临时文件中制作副本:
InputStream inputStream = getClass().getResourceAsStream(filePathInJar);
int read = 0;
byte[] bytes = new byte[1024];
this.file = new File("c:\\tmpfile.avi");
OutputStream out = new FileOutputStream(file);
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
inputStream.close();
out.flush();
out.close();
然后我可以制作:
mediaPlayer = Manager.createRealizedPlayer(new File("c:\\tmpfile.avi").toURI().toURL());
第一个问题:您有更好的解决方案吗?
因此,使用此解决方案,我将在他使用结束时删除临时文件,然后我尝试了:
mediaPlayer.stop();
mediaPlayer.close();
mediaPlayer.deallocate();
file.delete()
但是删除不起作用。它似乎总是在播放器中使用...
第二个问题:如何停止使用临时文件或强制删除?
谢谢。