工作需要,需要实现拼接多个MP3的相关功能,直接通过输入输出流拼接MP3是不可行的,因为每个MP3有自己的头信息,音频信息,直接拼接只能播放第一段音频。
找到一个google的开源库mp4parser实现音频拼接还比较方便,特此记录一下。
private static void connectAudioMp3(String mOutputFilePath, List<File> fileList) {
try {
List<Movie> movieList = new ArrayList<>();
for (File file : fileList) {
movieList.add(MovieCreator.build(file.getCanonicalPath()));
}
List<Track> audioTracks = new LinkedList<>();
for (Movie m : movieList) {
for (Track t : m.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
}
}
Movie outMovie = new Movie();
if (audioTracks.size() > 0) {