В чем разница между MediaPlayer и VideoView в Android - PullRequest
93 голосов
/ 04 ноября 2010

Мне было интересно, есть ли разница между ними, когда дело доходит до потокового видео.

Я знаю, VideoView можно использовать для потоковой передачи, а для чего Mediaplayer? Насколько я знаю, MediaPlayer может делать то же самое, что и VideoView верно?

Кто-нибудь может дать мне ответ?

А если я хочу транслировать видео с сервера с помощью RTSP на Android, с чего мне начать? VideoView или MediaPlayer?

Есть предложения?

Ответы [ 4 ]

38 голосов
/ 19 января 2011

Задавал тот же вопрос, и, как я понял из того, что Марк (CommonsWare) посоветовал по многим потокам здесь, VideoView - это оболочка (200 сотен строк кода) для MediaPlayer и SurfaceView для предоставления встроенных элементов управления.

Он также любезно поделился некоторыми примерами:

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

и пример с Android SDK http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.html

Также у некоторых людей были проблемы с воспроизведением видео на эмуляторе, поэтому обязательно проверьте его на реальном устройстве, если у вас есть проблемы

16 голосов
/ 19 января 2011

VideoView - это, по сути, View, привязанный к MediaPlayer, чтобы упростить внедрение видео в ваше приложение.Если вы не выполняете много пользовательских работ, VideoView - это то, что вам нужно.

Тем не менее, вы также можете передать RTSP-ссылку в систему, чтобы использовать наиболее подходящее приложение для воспроизведения видео, котороееще проще сделать:

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

Видео должно быть проверено на устройстве, так как воспроизведение на эмуляторе плохое, и вы также должны знать, что RTSP требует открытия дополнительного порта, который блокируется некоторыми брандмауэрами.

4 голосов
/ 10 июня 2013

Прочитайте ссылку ниже, это поможет вам и решит ваш вопрос.

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

0 голосов
/ 09 марта 2013

VideoPlayer - это обертка для MediaPlayer и SurfaceView, проще реализовать видеопроигрыватель с VideoView, чем с MediaPlayer, если видеофайлы хранятся во внутреннем хранилище приложения, используют провайдер контента или хранят их как общедоступные,иначе это не будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...