如何在安卓设备上为视频mp4文件添加音轨?

3

我想给一个没有音频的mp4文件添加音频,用户可以选择要添加的音频文件,该如何实现?

1个回答

4

如果你的MP4文件已经被H.264编码,你可以轻松地使用MP4parser

try {
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(baseDir + "/video.h264"));
AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl( baseDir + "/aac_sample.aac" ));

Movie movie = new Movie();
movie.addTrack(h264Track);
movie.addTrack(aacTrack);
Container mp4file = new DefaultMp4Builder().build(movie);

FileChannel fc = new FileOutputStream(new File(baseDir +"/output.mp4")).getChannel();
mp4file.writeContainer(fc);
fc.close();

} catch (FileNotFoundException e) {
  e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
}

谢谢。我是通过使用媒体混合器来完成的。 - rKrishna
很酷,但我从未听说过媒体混音库,你能给我发个链接吗?谢谢。 - Ehsan
1
抱歉不是媒体混音器,而是媒体复用器 Android 4.3 API https://developer.android.com/reference/android/media/MediaMuxer.html - rKrishna
是的,它适用于4.3及更高版本,但mp4parser没有这个限制。祝你好运。 - Ehsan
2
@rKrishna,您能否友好地告诉我们您如何使用媒体复用器完成此操作? - Ankit Batra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接