96 votes

Quelle est la différence entre MediaPlayer et VideoView dans Android ?

Je me demandais s'il y avait une différence entre eux en ce qui concerne le streaming vidéo.

Je sais. VideoView peut être utilisé pour le streaming et ce qui est Mediaplayer pour ? D'après ce que je sais, MediaPlayer peut faire la même chose que VideoView n'est-ce pas ?

Quelqu'un peut-il me donner la réponse ?

Et si je veux diffuser une vidéo depuis le serveur en utilisant RTSP vers Android, par lequel dois-je commencer ? VideoView o MediaPlayer ?

Une suggestion ?

0 votes

Cela ne devrait-il pas être sur le super-utilisateur ?

15 votes

Je pense qu'elle doit être posée ici. Ce n'est pas une question de programmation Android ?

41voto

mishkin Points 1680

Je me posais la même question et, d'après ce que j'ai compris de ce que Mark (CommonsWare) conseillé VideoView est une enveloppe (200 lignes de code) pour MediaPlayer et SurfaceView afin de fournir des contrôles intégrés.

Il a aussi aimablement partagé quelques exemples :

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

et exemple à partir du sdk Android http://developer.Android.com/resources/samples/ApiDemos/src/com/example/Android/apis/media/MediaPlayerDemo.html

De plus, certaines personnes ont eu des problèmes pour lire les vidéos sur l'émulateur, alors assurez-vous de le tester sur l'appareil réel si vous avez des problèmes.

17voto

Ian G. Clifton Points 4648

VideoView est essentiellement une vue liée à un MediaPlayer, ce qui facilite grandement l'intégration de vidéos dans votre application. Si vous ne faites pas beaucoup de travail personnalisé, VideoView est la solution idéale.

Cela dit, vous pouvez également transmettre le lien RTSP au système pour qu'il utilise l'application la plus appropriée pour lire la vidéo, ce qui est encore plus facile à faire :

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

La vidéo doit être testée sur un appareil, car la lecture sur émulateur est médiocre, et vous devez également savoir que le protocole RTSP nécessite l'ouverture d'un port supplémentaire, qui est bloqué par certains pare-feu.

3voto

Ajit Points 146

Lisez le lien ci-dessous, il vous aidera et résoudra votre question.

http://eclipsesource.com/blogs/2012/08/24/lessons-learned-when-using-androids-mediaplayer-and-videoview/

0voto

HocineHamdi Points 109

Le VideoAdView est un wrapper pour MediaPlayer et SurfaceView, il est plus facile d'implémenter un lecteur vidéo avec VideoView qu'avec un MediaPlayer, si les fichiers vidéo sont stockés dans le stockage interne de l'application, utilisez le fournisseur de contenu ou stockez-les comme lisibles dans le monde entier, sinon cela ne fonctionnera pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X