附加视频无法正常运行-Android

穆罕默德·索哈布(Mohammad Sohaib)

我正在使用Sebastian Annies的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();

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

323go

您的问题是您用相同的文件填充了输入文件名:

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成为文件的数量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android bindString无法正常运行

来自分类Dev

MediaPlayer无法正常运行(Android)?

来自分类Dev

Android Vitamio视频全屏无法正常工作

来自分类Dev

android:windowSoftInputMode =“ adjustResize”无法正常运行

来自分类Dev

Android checkbox.isChecked()无法正常运行

来自分类Dev

YouTube Android API seekToMillis()无法正常运行

来自分类Dev

强标签无法正常运行Android Webview

来自分类Dev

drawCircle方法无法正常运行(Android)

来自分类Dev

Android if-else语句无法正常运行

来自分类Dev

多个警报无法正常运行Android

来自分类Dev

android 9补丁无法正常运行

来自分类Dev

Android Eclipse调试无法正常运行

来自分类Dev

Android每日通知无法正常运行

来自分类Dev

离子运行android无法正常工作

来自分类Dev

Android RecyclerView OnItemTouchListener无法正常运行

来自分类Dev

onPostExecute无法运行,@ override无法正常运行android开发

来自分类Dev

Android Rating Bar布局权重属性无法正常运行

来自分类Dev

Android Studio 2.0即时运行无法正常工作

来自分类Dev

Google+登录无法在Android片段上正常运行

来自分类Dev

全局搜索无法在Android 4.4中正常运行

来自分类Dev

Android Desc命令按顺序无法正常运行

来自分类Dev

Android:autoLink无法在我的4.4设备上完全正常运行

来自分类Dev

如果我的android活动中的控件无法正常运行

来自分类Dev

从android studio运行应用程序无法正常工作

来自分类Dev

GCM推送通知无法在Android上正常运行

来自分类Dev

tns运行android --emulator无法正常工作-NativeScript

来自分类Dev

须藤离子运行Android无法正常工作

来自分类Dev

通知无法在Android API 28上正常运行

来自分类Dev

android项目可编译但无法正常运行

Related 相关文章

热门标签

归档