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

95

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

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

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

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

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

овсянка
источник
Разве это не должно быть на суперпользователе?
Quamis
13
Я думаю, это место здесь. Разве это не вопрос программирования под Android?
juell 04

Ответы:

40

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

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

мишкин
источник
17

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

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

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

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

Ян Г. Клифтон
источник
какой быстрее?
Альберт Чен
0

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

HocineHamdi
источник