首页 > 解决方案 > 附加多个视频但结果无法打开

问题描述

MP4 Parser用来将多个视频连接成一个视频(MP4)。

当我连接 2 个视频时,输出是它按应有的方式打开和播放,但是当我连接多个视频(3 个或更多)时,结果是它不播放。

这是我的代码:

@NonNull
    public static void appendTwoVideos(@NonNull List<String> videos, String outputPath) throws IOException {
        List<Movie> inputMovies = new ArrayList<>();
        for (String input : videos) {
            inputMovies.add(MovieCreator.build(input));
        }

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

        for (Movie m : inputMovies) {
            for (Track t : m.getTracks()) {
                if (PREFIX_AUDIO_HANDLER.equals(t.getHandler())) {
                    audioTracks.add(t);
                }
                if (PREFIX_VIDEO_HANDLER.equals(t.getHandler())) {
                    videoTracks.add(t);
                }
            }
        }

        Movie outputMovie = new Movie();
        if (audioTracks.size() > 0) {
            outputMovie.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));
        }
        if (videoTracks.size() > 0) {
            outputMovie.addTrack(new AppendTrack(videoTracks.toArray(new Track[videoTracks.size()])));
        }

        Container out = new DefaultMp4Builder().build(outputMovie);

        FileChannel fc = new RandomAccessFile(outputPath, "rw").getChannel();
        out.writeContainer(fc);
        fc.close();
    }

我究竟做错了什么 ?

标签: javaandroidmp4parser

解决方案


推荐阅读