Android デバイスで ffmpeg コマンドを実行しようとしています。それらのいくつかでは、以下のコードがうまく機能し、ビデオが作成されます。しかし、一部 (motorola xoom など) では、終了値は 4 です。また、samsung 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();
}
}