3

我正在使用 mp4parser 合并音频文件。合并完成,但速度很慢,不知道是什么问题。

在这条线上,调试器卡住了大音频文件

容器输出 = new DefaultMp4Builder().build(result);

这是我的工作但性能缓慢的代码。

public static void mergAudio(List<File> filesToMearge){


try {
    while (filesToMearge.size()!=1) {

        String audio1 = filesToMearge.get(0).getPath();
        String audio2 = filesToMearge.get(1).getPath();


        // FileOutputStream fostream = new FileOutputStream(filesToMearge.get(0).getPath(),true);//destinationfile
        String outputVideo = filesToMearge.get(0).getPath();

        Movie[] inMovies = new Movie[]{
                MovieCreator.build(audio1),
                MovieCreator.build(audio2),
        };

        List<Track> audioTracks = new LinkedList<Track>();

        for (Movie m : inMovies) {
            for (Track t : m.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);
        out.writeContainer(new FileOutputStream(outputVideo).getChannel());

    }

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

我怎样才能提高性能任何想法提前谢谢。

4

0 回答 0