我正在寻找一种在mpeg-4中录制的方法,能够暂停和恢复,但似乎没有一个。所以我决定以原始wave
格式录制并转换为.m4a
。有没有办法可以在android中将.wav
文件转换为.m4a
。我已经四处寻找mencoder
端口的android但没有找到,有一些帖子关于将ffmpeg
移植到linux
上的android但是我不太清楚如何在android中使用它合并两个.m4a
文件或将.wav
文件转换为.m4a
。
答案 0 :(得分:4)
通过“合并”音频文件可能有两种可能的含义,以及使用ffmpeg进行处理的两种不同方法:
喜欢在DVD上有正常的音轨,而另一个音轨如评论或配音语言。要使用ffmpeg和两个m4a文件执行此操作,请使用命令ffmpeg -i in-1.m4a -acodec copy out.m4a -i in-2.m4a -acodec copy -newaudio
。选项的顺序很重要,所以不要乱用它。
在第一个文件之后立即播放第二个文件。最简单的方法是使用专为音频操作设计的程序,如SoX。似乎有a recent but unstable Android port of SoX。
如果你想严格按照ffmpeg进行连接,那么你可以执行以下操作:
ffmpeg -i in-1.m4a -f s16le in-1.raw
这将音频文件输出到原始PCM。您需要注意采样率和通道数,因为此信息不会存储在原始PCM文件中,您将在以后需要它。 ffmpeg将在重新编码时显示音频流信息。它看起来像Audio: aac, 44100 Hz, stereo, s16, 63 kb/s
,这意味着您的采样率 44100 ,您的通道数 2 (立体声)。大多数情况下,您将处理22050,44100或48000的采样率;和1(“单声道”),2(“立体声”)或6(“5.1”)声道。
ffmpeg -i in-2.m4a -f s16le in-1.raw
现在将第二个文件解码为原始PCM。
ffmpeg -f s16le -ar 44100 -ac 2 -i 'concat:in-1.raw|in-2.raw' -acodec libfaac out.m4a
再次,选项顺序非常重要。根据您的输入更改采样率(-ar
)和频道(-ac
)选项。
答案 1 :(得分:1)