muxer = new MediaMuxer(outputFile.getAbsolutePath(),
MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
复制代码
audioTrackIndex = muxer.addTrack(audioEncoder.getOutputFormat());
videoTrackIndex = muxer.addTrack(videoEncoder.getOutputFormat());
复制代码
muxer.start();
复制代码
开始以后,就能够调用MediaMuxer.writeSampleData()向mp4文件中写入数据了。须要注意每次只能添加一帧视频数据或者单个Sample的音频数据,而且BufferInfo对象的值必定要设置正确
bash
muxer.writeSampleData(audioTrackIndex, encodedData, bufferInfo);
muxer.writeSampleData(videoTrackIndex, encodedData, bufferInfo);
复制代码
muxer.stop();
muxer.release();复制代码
参考文章:ide
https://www.jianshu.com/p/aeadf260258a
函数