В чем разница между MediaPlayer и VideoView в Android?
Мне было интересно, есть ли разница между ними, когда дело доходит до потокового видео.
Я знаю, что VideoView
может использоваться для потоковой передачи и для чего Mediaplayer
для? Насколько я знаю, Mediaplayer
может делать то же самое, что и VideoView
правильно?
Может ли кто-нибудь дать мне ответ?
И если я хочу потоковое видео с сервера с помощью RTSP на Android, с чего я должен начать? VideoView
или Mediaplayer
?
Любое предложение?
Ответы
Ответ 1
Задавал тот же вопрос, и, как я понял из того, что Mark (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
Также у некоторых людей возникли проблемы с воспроизведением видео на эмуляторе, поэтому обязательно проверьте его на самом устройстве, если у вас есть проблемы.
Ответ 2
VideoView - это, по сути, представление, привязанное к MediaPlayer, для упрощения реализации видео в вашем приложении. Если вы не выполняете особую работу, VideoView - это путь.
Тем не менее, вы также можете передать ссылку RTSP в систему, чтобы использовать наиболее подходящее приложение для воспроизведения видео, что еще проще сделать:
String url = "rtsp://yourrtsplink.com/blah";
Uri uri = Uri.parse(url);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
Видео должно быть протестировано на устройстве, так как воспроизведение эмулятора плохое, и вы также должны знать, что RTSP требует открытия дополнительного порта, который блокируется некоторыми брандмауэрами.
Ответ 3
Прочтите ниже ссылку, это поможет вам и решит ваш вопрос.
http://eclipsesource.com/blogs/2012/08/24/lessons-learned-when-using-androids-mediaplayer-and-videoview/
Ответ 4
VideoPlayer - это оболочка для MediaPlayer и SurfaceView, проще использовать видеоплеер с VideoView, чем с MediaPlayer, если видеофайлы хранятся во внутреннем хранилище приложения, использующего контент-провайдер, или хранят их как читаемые в мире, в противном случае он не будет работать