2013-06-11 25 views
5

Ben MediaCodec ve MediaExtractor kullanarak bir video oynatıcı yarattı, ama gerçekten yavaş MediaExtractorseekTo yöntemi kullanarak medya konumunu değiştirmeye çalıştığınızda SDK MediaPlayer talep edebilirsiniz süre (bir 1080P video için aramaya 10 saniye sürdü) gerçek zamanda. Bunu düzeltmek için bir fikrin var mı?Yavaş MediaExtractor seekTo

MediaExtractor extractor = new MediaExtractor(); 
extractor.setDataSource(SAMPLE);  
. 
. 
. 
extractor.seekTo(480000000, MediaExtractor.SEEK_TO_CLOSEST_SYNC); 

Güncelleme

Theo orijinal proje ben yavaş isteyen neden hata buldum here

+0

Merhaba, bu bir sorudur. MediaCodec ve MediaExtractor'ı kullanarak nasıl bir video oynatıcı oluşturabilirsiniz? Anladığım kadarıyla, bu sınıflar/media/jni içinde, "media-jni" yi yeniden oluşturdunuz mu? Eğer yaptıysan, bana nasıl yapılacağını gösterir misin? Geçerli sorunum "media-jni" (MediaPlayer.java denir) yeniden inşa etmek, böylece setDataSource() işlevinde üstbilgileri (coookie ile) denetleyebilirsiniz. Yine de teşekkürler. – Nezneika

+1

@hami, MediaCodec ve MediaExctractor Jelly Bean'de tanıtıldı ve halka açık (http://developer.android.com/reference/android/media/MediaCodec.html) –

+0

Bilgi için teşekkür ederiz. Ancak, benim görevimde JB yerine Android 14 seviyesini kullanmalıyım, ne yazık ki. – Nezneika

cevap

5

olduğunu. Medya FPS'yi korumak için kullanılan senkronizasyon saati idi. bazıları için

  • Doğru aramaya
  • Doğru medya geçerli konum
  • Doğru medya süresi
  • MediaController
  • Oynatma düzeltme:

    Sadece aşağıdaki özelliklere sahip yeni bir çalışma projesi yükledim Donanım kod çözücüsünün (MediaCodec) çerçeve zaman damgalarını doğru şekilde algılayamadığı videolar.

https://github.com/mafshin/MediaCodecDemo

+0

Bir düzeltme buldunuz mu? – StackOverflowed

+0

@StackOverflowed, aslında MediaCodec'ten iyi tanınan kütüphane Vitamio'ya geçtim (https://github.com/yixia/VitamioBundle). –