Сейчас я делаю приложение для редактирования видео в Android Java, я не могу смешивать видео и аудио, файлы .mp3 и .mp4 вместе, я прочитал много ответов о переполнении стека и GitHub, но я не могу получить правильный ответ, я хочусмешайте mp3 и mp4 файл и получите mp4 видео, а также управляйте громкостью обоих, я хочу добавить фоновую музыку, plz help
Заранее спасибо
Я прочитал много ответов из стекапереполнение и github, но я не могу получить правильный ответ
private void audiomix() {
File moviesDir = Environment.getExternalStorageDirectory();
String filePrefix = "mixur_video";
String fileExtn = ".mp4";
yourRealPath = videopath;
File dest = new File(moviesDir, filePrefix + fileExtn);
int fileNo = 0;
while (dest.exists()) {
fileNo++;
dest = new File(moviesDir, filePrefix + fileNo + fileExtn);
}
mixerpath = dest.getAbsolutePath();
String[] cmd1 = {"-i " + yourRealPath + " -i " + audiopath + " -shortest -threads 0 -preset ultrafast -strict -2 " + mixerpath};
Log.d(TAG, "audiomix: " + cmd1);
execFFmpegBinary(cmd1);
}
private void loadFFMpegBinary() {
try {
if (ffmpeg == null) {
Log.d(TAG, "ffmpeg : era nulo");
ffmpeg = FFmpeg.getInstance(this);
}
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onFailure() {
showUnsupportedExceptionDialog();
}
@Override
public void onSuccess() {
Log.d(TAG, "ffmpeg : correct Loaded");
}
});
} catch (FFmpegNotSupportedException e) {
showUnsupportedExceptionDialog();
} catch (Exception e) {
Log.d(TAG, "EXception no controlada : " + e);
}
}
private void showUnsupportedExceptionDialog() {
new AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Not Supported")
.setMessage("Device Not Supported")
.setCancelable(false)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
})
.create()
.show();
}
private void execFFmpegBinary(final String[] command) {
try {
ffmpeg.execute(command, new ExecuteBinaryResponseHandler() {
@Override
public void onFailure(String s) {
Log.d(TAG, "FAILED with output : " + s);
}
@Override
public void onSuccess(String s) {
Log.d(TAG, "SUCCESS with output : " + s);
Intent intent = new Intent(MainActivity.this, VideoResult.class);
startActivity(intent);
}
@Override
public void onProgress(String s) {
Log.d(TAG, "Started command : ffmpeg " + command);
progressDialog.setMessage("Please Wait Proccessing the video");
Log.d(TAG, "progress : " + s);
}
@Override
public void onStart() {
Log.d(TAG, "Started command : ffmpeg " + command);
progressDialog.setMessage("Processing...");
progressDialog.show();
}
@Override
public void onFinish() {
Log.d(TAG, "Finished command : ffmpeg " + command);
progressDialog.dismiss();
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// do nothing for now
}
}
Я хочу смешать mp3 и mp4 файл и получить видео mp4, а также контролировать громкость обоих, я хочу добавить фоновую музыку, plz help