0

我尝试在 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();
    }
}
4

0 回答 0