gpt4 book ai didi

android - append 视频无法正常工作 - Android

转载 作者:太空狗 更新时间:2023-10-29 13:27:41 24 4
gpt4 key购买 nike

我正在使用塞巴斯蒂安安妮 example对于我 append 3 个视频的 mp4parser。结果应该是一个同时播放所有三个视频的视频。但是,我得到一个播放最后一个视频 3 次的视频。这是我的代码...

            //    int i = number of videos....
try {
String[] f = new String[i];

for (int count = 0; count < i; count++) {
f[count] = "/sdcard/vid" + i + ".mp4";
}

Movie[] inMovies = new Movie[i];

for (int count = 0; count < i; count++) {
inMovies[count] = MovieCreator.build(f[count]);
}

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);

FileChannel fc = new RandomAccessFile(String.format
("/sdcard/output.mp4"),
"rw").getChannel();
out.writeContainer(fc);
fc.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

VideoView v = (VideoView) findViewById(R.id.videoView1);
// v.setVideoPath("/sdcard/aaa" + i + ".mp4");
v.setVideoPath("/sdcard/output.mp4");
v.setMediaController(new MediaController(this));
v.start();

我不知道为什么它没有做它应该做的事情。请帮我。谢谢

最佳答案

你的问题是你用同一个文件填充输入文件名:

for (int count = 0; count < i; count++) {
f[count] = "/sdcard/vid" + i + ".mp4";
}

应该是

for (int count = 0; count < i; count++) {
f[count] = "/sdcard/vid" + count + ".mp4";
}

为了可读性,让 i 成为循环变量,并让 count 成为文件数可能会更好。

关于android - append 视频无法正常工作 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19753973/

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