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?

Oattie
fonte
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

mishkin
fonte
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.

Ian G. Clifton
fonte
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

HocineHamdi
fonte