繁体   English   中英

Android MP4Parser无法播放视频

[英]Android MP4Parser cannot play video

我正在尝试使用MP4Parser将简单的3秒外线视频追加到现有视频中,但是由于某些原因,合并发生后我无法播放视频。 尝试从我的图库播放视频时,出现臭名昭著的“抱歉,无法播放此视频”错误。 任何人都有类似的经验吗? 我正在运行4.4 KitKat的HTC One上进行测试

这是我将.mp4片段合并为单个片段的方法,该方法取自MP4Parser本身的AppendExample。

   private void createFinalOutputVideo() {

    CameraHelper helper = new CameraHelper(this);
    File outFile = helper.getOutputMediaFile(CameraHelper.MEDIA_TYPE_VIDEO);


    try {


        Movie[] movies = new Movie[2];
        movies[0] = MovieCreator.build(mVideoPath);
        movies[1] = MovieCreator.build(mOutroPath);


        Log.d("ShareActivity", "Video 1 path " + mVideoPath);
        Log.d("ShareActivity", "Video 2 path " + mOutroPath);

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

        for (Movie m : movies) {
            for (Track t : m.getTracks()) {

                if (t.getHandler().equals("soun")) {
                    audioTracks.add(t);
                }


                if (t.getHandler().equals("vide")) {
                    videoTracks.add(t);
                }
            }
        }

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


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

        FileChannel fc = new RandomAccessFile(String.format(outFile.getPath()), "rw").getChannel();


        out.writeContainer(fc);
        fc.close();

        Toast.makeText(this, "Merge successful! Output path is " + outFile.getAbsolutePath(), Toast.LENGTH_SHORT).show();

    } catch (IOException e) {
        e.printStackTrace();
        Toast.makeText(this, "Error merging videos!", Toast.LENGTH_SHORT).show();
    }


}

有没有人遇到过MP4Parser这个问题? 如果塞巴斯蒂安能在这里鸣钟会很棒。

我一直在使用https://github.com/hoolrory/AndroidVideoSamples调整内部使用mp4parser的视频的大小。 样本可以调整视频大小,但没有声音。 因此,我添加了一种混合方式以将曲目添加到视频中。 但随后,视频将出现错误,并在最后显示“无法播放此视频”消息。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM