Android:ffmpeg,文件名包含空格

我想从Android应用程序执行ffmpeg,非常像这里所述:将FFmpeg与Android-NDK结合使用。

执行以下命令可以正常工作:

Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/ffmpeg -i infile.mp4 outfile.mp4");

要么

Process p = Runtime.getRuntime().exec(new String[]{"/data/data/yourpackagename/ffmpeg", "-i", "infile.mp4", "outfile.mp4");

但是,当输入或输出文件名包含空格时,ffmpeg失败,并显示“找不到文件”错误:

Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/ffmpeg -i \"in space file.mp4\" outfile.mp4"); // fails

Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/ffmpeg -i 'in space file.mp4' outfile.mp4"); // fails

Process p = Runtime.getRuntime().exec(new String[]{"/data/data/yourpackagename/ffmpeg", "-i", "\"in space file.mp4\"", "outfile.mp4"); //fails

FFMPEG对于包含空格的文件也失败,但引用如下:

Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/ffmpeg -i \"infile.mp4\" outfile.mp4"); // fails

如何正确将包含空格的文件名传递给ffmpeg命令?

问候,

回答:

我终于明白了。我忘记了一种可能性,而实际上这是可行的:

Process p = Runtime.getRuntime().exec(new String[]{"/data/data/yourpackagename/ffmpeg", "-i", "in space file.mp4", "outfile.mp4"); //OK

以上是 Android:ffmpeg,文件名包含空格 的全部内容, 来源链接: utcz.com/qa/416895.html

回到顶部