【发布时间】:2018-08-24 02:57:52
【问题描述】:
据我所知,更改FFmpeg 音量的唯一方法是通过command line 进行。
这应该改变音频的音量:
ffmpeg -i input.wav -filter:a "volume=1.5" output.wav
现在我之前在命令行中使用过FFmpeg,它看起来像这样并且没有给我任何错误:
String[] cmd = { "-i" , pcmtowavTempFile.toString(), "-i", mp3towavTempFile.toString(), "-filter_complex", "amix=inputs=2:duration=first:dropout_transition=3", combinedwavTempFile.toString()};
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onSuccess(String message) {
super.onSuccess(message);
encodeWavToAAC();
}
@Override
public void onFailure(String message) {
super.onFailure(message);
onError(message);
}
});
但如果我尝试用相同的方法处理音量,它就会忽略它:
String[] cmd = { "-i" , pcmtowavTempFile.toString(), "-filter:a", "volume=1.3", pcmtowavTempFile.toString()};
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onSuccess(String message) {
super.onSuccess(message);
}
@Override
public void onFailure(String message) {
super.onFailure(message);
}
});
我都没有,没有success or error message 使用最后的音量更改方法。
由于音量在" " 之间,我尝试添加:
String[] cmd = { "-i" , pcmtowavTempFile.toString(), "-filter:a", "\"volume=1.3\"", pcmtowavTempFile.toString()};
但添加此行后应用开始崩溃。
【问题讨论】:
-
添加最后一行后出现什么异常?
-
@RamiJemli 它只是崩溃而没有给我任何东西,我尝试调试它以获得异常但我得到了相同的结果 - 没有。
-
@RamiJemli 我可以确定这是因为当我删除它时,它不会崩溃。或者我只是不知道如何查找命令行错误
标签: android cmd ffmpeg wav volume