Android - 将mp3音频添加到mp4视频

时间:2016-01-20 10:01:01

标签: android audio video mp3 aac

我正在尝试将MP3音频文件混合到MP4视频中。 经过几个小时的搜索,我得出结论,我需要将MP3文件转换为适合MP4容器的AAC格式。

Add audio to video in android

但我找不到任何关于如何将MP3文件转换为AAC格式的文档。 那么您对如何将MP3音频转换为AAC音频有任何建议吗?

另外,我需要在最终视频中的特定时间插入几个音频。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用mp4parser对mp4进行一些多路复用,有些人(从github repo“问题”部分看到)正在使用它来复用mp3和mp4。

你得到的另一个选择是使用FFmpeg,无论是编译自己还是使用预制的东西,我都使用this。 它自己的库有点笨重,而且你可能需要一些游戏才能获得FFmpeg命令,以获得最佳质量和多路复用速度。

它看起来像这样:

    try {
       FFmpeg ffmpeg = FFmpeg.getInstance(this);
       String cmd = "-i " + videoFilePath + " -i " + audioFilePath + " -shortest -threads 0 -preset ultrafast -strict -2 " + outputFilePath
       ffmpeg.execute(cmd, mergeListener);
    } catch (FFmpegCommandAlreadyRunningException e) {
       e.printStackTrace();
    }

听众:

ExecuteBinaryResponseHandler mergeListener = new ExecuteBinaryResponseHandler() {
        @Override
        public void onStart() {
            //started
        }

        @Override
        public void onFailure(String message) {
            //failed
        }

        @Override
        public void onFinish() {
           File output = new File(outputFilePath);
           //Do whatever with your muxed file
        }
    };