Qual è la differenza tra MediaPlayer e VideoView in Android


95

Mi chiedevo se ci fosse una differenza tra loro quando si tratta di video in streaming.

So che VideoViewpuò essere utilizzato per lo streaming ea cosa serve Mediaplayer? Per quanto ne so, MediaPlayerpuò fare la stessa cosa di VideoViewgiusto?

Qualcuno può darmi la risposta?

E se voglio trasmettere video in streaming dal server utilizzando RTSP su Android, con quale dovrei iniziare? VideoViewo MediaPlayer?

Qualche suggerimento?


Non dovrebbe essere su superutente?
Quamis

13
Penso che appartenga a questo posto. Non è una domanda sulla programmazione Android?
Juell

Risposte:


40

Stavo facendo la stessa domanda e da quanto ho capito da quello che Mark (CommonsWare) ha consigliato su numerosi thread qui, VideoView è un wrapper (200 cento righe di codice) per MediaPlayer e SurfaceView per fornire controlli incorporati.

Ha anche gentilmente condiviso alcuni esempi:

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

ed esempio da android sdk http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.html

Inoltre, alcune persone hanno avuto problemi con la riproduzione di video sull'emulatore, quindi assicurati di testarlo sul dispositivo effettivo se hai problemi


17

VideoView è essenzialmente una vista che è legata a un MediaPlayer per rendere molto più semplice l'implementazione dei video nella tua app. Se non stai facendo molto lavoro personalizzato, VideoView è la strada da percorrere.

Detto questo, puoi anche trasferire il collegamento RTSP al sistema per utilizzare l'app più appropriata per la riproduzione del video, cosa ancora più semplice da fare:

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

Il video dovrebbe essere testato su un dispositivo, poiché la riproduzione dell'emulatore è scarsa e dovresti anche essere consapevole che RTSP richiede una porta aggiuntiva per essere aperta, che è bloccata da alcuni firewall.


quale è più veloce?
Albert Chen


0

Il VideoPlayer è un wrapper per MediaPlayer e SurfaceView, è più facile implementare il lettore video con VideoView che con un MediaPlayer, se i file video sono archiviati nella memoria interna dell'app utilizza il provider di contenuti o li archivia come leggibili dal mondo, altrimenti lo farà non funziona

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.