Android'de MediaPlayer ve VideoView arasındaki fark nedir


95

Video akışı söz konusu olduğunda aralarında bir fark olup olmadığını merak ediyordum.

VideoViewAkış için kullanılabileceğini biliyorum ve ne Mediaplayeriçin? Bildiğim kadarıyla MediaPlayeraynı şeyi VideoViewdoğru yapabilir mi?

Biri bana cevap verebilir mi?

Ve sunucudan Android'e RTSP kullanarak video akışı yapmak istersem, hangisiyle başlamalıyım? VideoViewveya MediaPlayer?

Herhangi bir öneri?


Bunun süper kullanıcı olması gerekmez mi?
Quamis

14
Sanırım buraya ait. Bu bir Android programlama sorusu değil mi?
juell

Yanıtlar:


40

Aynı soruyu soruyordum ve Mark'ın (CommonsWare) buradaki sayısız iş parçacığında önerdiği şeyden anladığım gibi , VideoView, MediaPlayer ve SurfaceView için gömülü kontroller sağlamak için bir sarmalayıcıdır (200 yüz satır kod).

Bazı örnekleri de nazikçe paylaştı:

https://github.com/commonsguy/cw-advandroid/blob/master/Media/Video/src/com/commonsware/android/video/VideoDemo.java

https://github.com/commonsguy/vidtry/blob/master/src/com/commonsware/android/vidtry/Player.java

ve android sdk örneği http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.html

Ayrıca bazı kişilerin emülatörde video oynatma sorunları vardı, bu nedenle sorun yaşıyorsanız gerçek cihazda test ettiğinizden emin olun.


17

VideoView, esasen, uygulamanızda videoları uygulamayı çok daha kolay hale getirmek için bir MediaPlayer'a bağlı bir Görünümdür. Çok fazla özel çalışma yapmıyorsanız, VideoView en iyi yoldur.

Bununla birlikte, videoyu oynatmak için en uygun uygulamayı kullanmak için RTSP bağlantısını sisteme aktarabilirsiniz, ki bunu yapmak daha da kolaydır:

String url = "rtsp://yourrtsplink.com/blah";
Uri uri = Uri.parse(url);
startActivity(new Intent(Intent.ACTION_VIEW, uri));

Öykünücü oynatma zayıf olduğundan video bir cihazda test edilmelidir ve ayrıca RTSP'nin bazı güvenlik duvarları tarafından engellenen fazladan bir bağlantı noktasının açık olmasını gerektirdiğini bilmelisiniz.


hangisi daha hızlı?
Albert Chen


0

VideoPlayer, MediaPlayer ve SurfaceView için bir sarmalayıcıdır; video dosyaları uygulamanın dahili depolamasında depolanıyorsa, VideoView ile video oynatıcıyı uygulamak MediaPlayer'dan daha kolaydır, eğer video dosyaları uygulamanın dahili depolamasında depolanıyorsa içerik sağlayıcısını kullanın veya bunları herkes tarafından okunabilir olarak saklayın, aksi takdirde çalışmıyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.