В чем разница между MediaPlayer и VideoView в Android

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

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

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

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

Любое предложение?


person oattie    schedule 04.11.2010    source источник
comment
Разве это не должно быть на суперпользователе?   -  person Quamis    schedule 04.11.2010
comment
Я думаю, что это место здесь. Разве это не вопрос программирования для Android?   -  person juell    schedule 04.01.2011


Ответы (4)


Задавал тот же вопрос, и, как я понял из того, что Марк (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

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

person mishkin    schedule 19.01.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 требует, чтобы был открыт дополнительный порт, который блокируется некоторыми брандмауэрами.

person Ian G. Clifton    schedule 19.01.2011

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

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

person Ajit    schedule 10.06.2013

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

person HocineHamdi    schedule 08.03.2013