gpt4 book ai didi

00 :00 duration的android mp4parser视频附加结果

转载 作者:太空狗 更新时间:2023-10-29 14:16:20 32 4
gpt4 key购买 nike

大家好,我正在尝试使用 mp4parser 在 android 中附加两个视频,但问题是生成的视频是 00:00 持续时间,尽管它占用了大小video1 + video2 这两个视频都是从同一手机的同一后置摄像头捕获的,编码完全相同,因此 encoding 没有任何问题。我已经看过 mp4parser 官方网站引用的样本,它几乎是相同的代码,但似乎还有其他东西提前致谢这是我的代码

private void appendVideos() throws IOException
{
String f1 = Environment.getExternalStorageDirectory() + "/video1.mp4";
String f2 = Environment.getExternalStorageDirectory()+ "/video2.mp4";

Movie[] inMovies;

inMovies = new Movie[]
{
MovieCreator.build(f1),
MovieCreator.build(f2),
};


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

for (Movie m : inMovies)
{
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);

RandomAccessFile ram = new RandomAccessFile(String.format(Environment.getExternalStorageDirectory() + "/output.mp4"), "rw");
FileChannel fc = ram.getChannel();
out.writeContainer(fc);
ram.close();
fc.close();
Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_SHORT).show();
}

最佳答案

它对我很好。

只要做这一项更改,您的代码就可以正常工作。

将 lib 文件夹中的 isoparser-1.0-RC-37.jar 替换为 isoparser-1.0-RC-27.jar。

从下面的链接下载 isoparser-1.0-RC-27.jar 文件。 http://grepcode.com/snapshot/repo1.maven.org/maven2/com.googlecode.mp4parser/isoparser/1.0-RC-27

关于00 :00 duration的android mp4parser视频附加结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677547/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com