2 つの動画を連結する Android アプリを作成したい
私は次のコードを試しました
InputStream in=null;
OutputStream os=null;
String appFileDirectory = getFilesDir().getPath();
final String executableFilePath = appFileDirectory + "/ffmpeg";
final String input ="concat:/mnt/sdcard/input1.mpg|/mnt/sdcrad/input2.mpg";
File executable=new File(executableFilePath);
try {
in = getAssets().open("ffmpeg");
os = new FileOutputStream(executable);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = in.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (os != null) {
try {
// outputStream.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
executable.setExecutable(true);
Button b = (Button)findViewById(R.id.button);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
Process p = Runtime.getRuntime().exec(executableFilePath + "-i \""+ input + "\" -c copy /mnt/sdcrd/output.mpg");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
このコードはエラーを出さないか、クラッシュしていませんが、ボタンをクリックしても何も起こりません。Androidと互換性のあるffmpegビルドを作成しました。Android Javaコードからコマンドを実行する方法を教えてください。