実行可能な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()
しかし、削除は機能しません。プレーヤーで常に使用されているようです...
2 番目の質問: 一時ファイルの使用を停止したり、強制的に削除したりするにはどうすればよいですか?
ありがとう。