我尝试在 android 设备上运行 ffmpeg 命令。在其中一些上,下面的代码效果很好,并且创建了视频。但是在某些(例如摩托罗拉xoom)上,退出值为4。在三星galaxy s 2.3.3上调试时,它在process.waitFor()上冻结;有人可以帮我吗?我不明白出了什么问题。
public void execFfmpeg(){
try {
File resultFile = new File(mContext.getFilesDir() + "/ffmpeg");
String[] command = null;
command = new String[] {
resultFile.getAbsolutePath(),
"-shortest",
"-i",
audioPath,
"-loop",
"1",
"-i",
imagePath, "-acodec", "ac3", "-ab", "128k", "-vcodec",
"mpeg4", videoFileName };
if(command != null){
Process process = Runtime.getRuntime().exec(command);
process.waitFor();
dumpStream(process.getInputStream());
dumpStream(process.getErrorStream());
mLogger.error("" + process.exitValue());
if(process.exitValue() == 0){
}
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}