我正在编写一个简单的应用程序,它正在复用给定的mp4和mp3文件,并且正在提取mp4文件。
fFmpeg = FFmpeg.getInstance(this);
cmd = new String[] {"-i", videoPath, "-i", audioPath, Environment.getExternalStorageDirectory() + "/output.mp4"};
fFmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
super.onStart();
Log.e(TAG, "Started");
}
@Override
public void onFailure(String message) {
super.onFailure(message);
Log.e(TAG, "failed: " + message);
}
@Override
public void onProgress(String message) {
super.onProgress(message);
Log.e(TAG, "progress: "+ message);
}
@Override
public void onFinish() {
super.onFinish();
Log.e(TAG, "finish");
}
@Override
public void onSuccess(String message) {
super.onSuccess(message);
Log.e(TAG, "success: " + message);
}
});
videoPath和audioPath是视频和音频的路径,例如storage / emulated / 0 / source.mp4。但是我没有附上我的音频文件的视频文件的副本。我的错是什么?
答案 0 :(得分:1)
如果您的MP4已包含音频,则MP3可能无法复制。要强制它,请使用
ffmpeg -i video -i audio -map 0:v -map 1:a output.mp4