In class Main.java:
private String MP4_FILE =
Environment.getExternalStorageDirectory().getAbsolutePath() +"/
video.mp4";
private String MP4_FILE_IN =
Environment.getExternalStorageDirectory().getAbsolutePath() + "/count-
video.mp4";
private String AAC_FILE_IN =
Environment.getExternalStorageDirectory().getAbsolutePath() +"/
out.aac";
private void convert(){
try {
new AACWithM4A().convert(this, MP4_FILE_IN, AAC_FILE_IN,
MP4_FILE);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class AACWithM4A.java:
public class AACWithM4A {
private static final String TAG = "AACWithM4A";
private static Context context;
public static Context getContext() {
return context;
}
public void convert(Context context, String infile, String
inFileAudio, String outfile) throws IOException {
AACWithM4A.context = context;
InputStream input = new FileInputStream(infile);
InputStream inputAudio = new FileInputStream(inFileAudio);
Movie video =
MovieCreator.build(Channels.newChannel(input));
PushbackInputStream pbi = new
PushbackInputStream(inputAudio, 100);
Track audioTrack = new AACTrackImpl(pbi);
video.addTrack(audioTrack);
IsoFile out = new DefaultMp4Builder().build(video);
FileOutputStream output = new
FileOutputStream(outfile);
out.getBox(output.getChannel());
output.close();
> > >
https://github.com/timsu/android-aac-encthatbasically wraps