Android中的MediaPlayer和VideoView有什么不同?
我想知道在stream媒体video方面他们是否有区别。
我知道VideoView
可以用于stream媒体和什么是Mediaplayer
的? 据我所知, MediaPlayer
可以做VideoView
同样的事情吗?
任何人都可以给我答案?
如果我想通过使用RTSP将Androidvideo从服务器stream式传输到Android,我应该从哪一个开始? VideoView
或MediaPlayer
?
任何build议?
问了同样的问题,我从Mark(CommonsWare)在这里的众multithreading中build议的理解中了解到,VideoView是MediaPlayer和SurfaceView提供embedded式控件的封装(200行代码)。
他也慷慨地分享了一些例子:
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
还有一些人在模拟器上播放video有问题,所以如果你有问题,一定要在实际的设备上进行testing
VideoView本质上是一个与MediaPlayer绑定的视图,使您可以更轻松地在您的应用中实现video。 如果你没有做很多的定制工作,VideoView是要走的路。
也就是说,您还可以将RTSP链接传递给系统,以使用最合适的应用程序播放video,这更容易:
String url = "rtsp://yourrtsplink.com/blah"; Uri uri = Uri.parse(url); startActivity(new Intent(Intent.ACTION_VIEW, uri));
video应该在设备上进行testing,因为模拟器的播放效果很差,而且您还应该知道RTSP需要打开一个额外的端口,而某些防火墙会阻止该端口。
阅读下面的链接,它会帮助你,并会解决你的问题。
VideoPlayer是MediaPlayer和SurfaceView的包装,如果video文件存储在应用程序使用内容提供者的内部存储器中,或者将它们存储为世界可读的,则使用VideoView比使用MediaPlayer更容易实现video播放器,否则将不行