6

Video kaydını duraklatmak ve sürdürmek için daha iyi bir çözüm aramaya çalışıyorum. Bildiğim kadarıyla, Media Recorder sınıfı Android 4.3 veya daha düşük bir kayıt için kayıt sırasında duraklamaya izin vermiyor.Duraklat ..... varsayılan kamera uygulaması gibi seçenek?

Birkaç video dosyasını bir video dosyasına birleştiren mp4parser kitaplığını buldum. Aşağıdaki kavanozları kullanıyorum:

aspectjrt-1.7.3.jar

isoparser-1.0.6.jar sorunu onları biraraya birleştirmek için yol çok uzun sürer

. Örneğin, 2-3 video dosyaları yaklaşık 5 dakika toplam toplam onları birleştirmek için en az 2 dakika sürer!

Video kaydında duraklatma seçeneğine sahip olan Galaxy S3 ve Not 2 ile birlikte gelen varsayılan Kamera uygulaması. Duraklatılan videoların birleştirme işlemini tamamlamak için 1 saniyeden az sürüyor.

Birisi bana burada neyi yanlış yaptığımı söyleyebilir mi?

çok

cevap

0
Belki çiğ Kaydı yapıyor artabilir

teşekkür ederiz

for (ArrayList<String> PathList : VideoList) { 
      VideoPathList = PathList; 
     } 

     for (String mMovie : VideoPathList) { 
      Movie movie = MovieCreator.build(mMovie); 
      MovieList.add(movie); 
     } 

     List<Track> videoTracks = new LinkedList<Track>(); 
     List<Track> audioTracks = new LinkedList<Track>(); 
     for (Movie mMovie : MovieList) { 
      for (Track t : mMovie.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()]))); 
      } 

      BasicContainer basicContainer = (BasicContainer) new DefaultMp4Builder().build(result); 

      final String FileLocation = (UserSavedDirectoryPATH + "/"); 
      final File DirectoryExistCheck = new File(FileLocation); 
      if(!DirectoryExistCheck.exists()) { 
       DirectoryExistCheck.mkdir(); 
      } 
      NewVideo = FileLocation + "Video " + ".mp4"; 

      FileChannel fileChannel = new FileOutputStream(new File(String.format(NewVideo))).getChannel(); 
      basicContainer.writeContainer(fileChannel); 
      fileChannel.close(); 
     } catch(Exception error) { } 
     GalleryAddNewVideo(NewVideo); 
     Delete_VideoPaths(VideoPathList); 

çok yardımınız için teşekkür ederiz: Ben video dosyalarını birleştirme için aşağıdaki kodu kullanıyorum

Performans:

  1. Kaydı bir ham dosyaya kaydedin (kodlanmış bir forma yerine) t).
  2. Kullanıcı, kaydetme işlemine her başladığında aynı ham dosyanın sonuna eklenir.
  3. Son olarak, durakta, istenilen formatta (mp4 ya da her türlü)

Bu şekilde ham dosyayı dönüştürmek, sen mp4parser veya videoları birleştirmek için başka bir şeye ihtiyacın olmaz.

+0

Yorum için çok teşekkürler. Zaten bir kod veya örnek veya bağlantı paylaşabilirsiniz var mı? Çok teşekkür ederim –

İlgili konular