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.