【发布时间】:2019-05-13 20:06:38
【问题描述】:
任务: 在 Android 中使用 FFmpeg 混合音频文件。
错误:
[NULL @ 0xf6468400] Unable to find a suitable output format for ' -i '
-i : Invalid argument
我的命令:
File m1 = new File(Environment.getExternalStorageDirectory() + "/MyFolder/m1.mp3");
File m2 = new File(Environment.getExternalStorageDirectory() + "/MyFolder/m2.mp3");
//m1,m2 are mp3 files
//File outputDirectory2 = new File(Environment.getExternalStorageDirectory() + "/MyFolder/video1.mp3");
String[] auidoMixCmd3={" -i ",""+m1.getPath()," -i ",""+m2.getPath()," -filter_complex [0:0][1:0] amix=inputs=2:duration=first:dropout_transition=0 -codec:a libmp3lame -q:a 0:-f mp3",outputDirectory2.getPath()};
String[] auidoMixCmd2={" -i ",""+m1.getPath()," -i ",""+m2.getPath()," -i ",""+m1.getPath()," -filter_complex","\"[0:0][1:0] amix=inputs=2:duration=longest\" -c:a libmp3lame -f mp3",outputDirectory2.getPath()};
我用不同的命令尝试了 100 多次,但我没有得到任何解决方案。这么多命令在堆栈溢出但得到相同的错误。请任何人在这里帮助我。
【问题讨论】:
-
您知道哪个命令产生了错误吗?为什么 Cmd2 中有两次 -i m1.getPath?
-
感谢重播。所有尝试过的命令都给出相同的错误。在我的手机中只有 2 个文件,但输入需要 3 个文件,所以我给了 2 次。我认为这不是问题。是文件类型有任何问题或需要提供任何过滤器规范。
-
我已经很久没有使用ffmpeg了,但我认为文件类型很好。您确定您正确指定了参数吗?它说“-i”无效,您将“-i”和文件路径分成单独的参数。我认为他们应该在一起,即 "-i " + m1.getPath(), "-i " + m2.getPath()...
-
@JeffR。无论如何感谢重播。我也尝试过这样但同样的错误
-
""+m1.getPath()--> 两个双引号是干什么用的?
标签: android audio ffmpeg android-ffmpeg