Qual é a diferença entre MediaPlayer e VideoView no Android


95

Eu queria saber se há uma diferença entre eles quando se trata de streaming de vídeos.

Eu sei que VideoViewpode ser usado para streaming e para que serve Mediaplayer? Pelo que eu sei, MediaPlayerpode fazer a mesma coisa que VideoViewcerto?

Alguém pode me dar a resposta?

E se eu quiser transmitir vídeo do servidor usando RTSP para Android, com qual devo começar? VideoViewou MediaPlayer?

Alguma sugestão?


Não deveria estar no superusuário?
Quamis

13
Eu acho que ele pertence aqui. Não é uma questão de programação Android?
Juell

Respostas:


40

Estava fazendo a mesma pergunta e como entendi do que Mark (CommonsWare) aconselhou sobre vários tópicos aqui, VideoView é um wrapper (200 linhas de código) para MediaPlayer e SurfaceView para fornecer controles embutidos.

Ele também gentilmente compartilhou alguns exemplos:

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

e um exemplo do android sdk http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.html

Além disso, algumas pessoas tiveram problemas para reproduzir vídeo no emulador, portanto, certifique-se de testá-lo no dispositivo real se tiver problemas


17

VideoView é essencialmente um View que está vinculado a um MediaPlayer para tornar muito mais fácil implementar vídeos em seu aplicativo. Se você não estiver fazendo muito trabalho personalizado, VideoView é o caminho a percorrer.

Dito isso, você também pode passar o link RTSP para o sistema para usar o aplicativo mais adequado para reproduzir o vídeo, o que é ainda mais fácil de fazer:

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

O vídeo deve ser testado em um dispositivo, já que a reprodução do emulador é ruim, e você também deve estar ciente de que o RTSP requer a abertura de uma porta extra, que é bloqueada por alguns firewalls.


qual é mais rápido?
Albert Chen


0

O VideoPlayer é um wrapper para MediaPlayer e SurfaceView, é mais fácil implementar o reprodutor de vídeo com VideoView do que com um MediaPlayer, se os arquivos de vídeo estiverem armazenados no armazenamento interno do aplicativo, use o provedor de conteúdo ou armazene-os como legíveis por todos, caso contrário, não funciona

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.