最近在做一款产品,需要从视频中提取音频。查了查资料发现了有FFMPEG,MP4Parser,Android自带的解码器。首先FFMPEG比较复杂据说也慢(来源于互联网,我也不知道)然后就是Android自带的Media Extractor类,不过该类用于4.3以上,适配性不好。最后选择了MP4Parser类。
首先去下载个MP4Parser的包导入到Android工程里面,接下来就可以写代码了。好了不多说了,上代码。
try {
Movie movie = MovieCreator.build(fileName);
for (Track t : movie.getTracks())
{
if (t.getHandler().equals("soun"))
{
audioTracks.add(t);
}
}
Movie result = new Movie();
if (audioTracks.size() > 0)
{
result.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));
}
Container out = new DefaultMp4Builder().build(result);
try
{
FileChannel