2014-02-10 1 views
2

все, я пытаюсь добавить два видео в android, используя mp4parser, но проблема в том, что результирующий видеоролик имеет длину 00:00, хотя он занимает размер видео1 + видео2, видео снимаются с одного и того же кулачка той же самой трубки с точно такой же кодировкой, поэтому encoding не проблема. я уже имел взгляд на образцах, отнесенных на официальном сайте mp4parser, и это почти тот же самый код, но там, кажется, что-то еще спасибо заранее вот мой кодandroid mp4parser video appending result of 00:00 duration

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(); 
    } 
+0

@Sebastian Annies вы можете мне помочь? – khurramengr

ответ