🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
VideoView 是Android 自带的可以播放视频的控件。 它的使用方法也比较简单,相当于是surfaceview+mediaplayer 两者的集合体。 对于一个控件的使用 无外乎 三步: 1. 初始化 2 设置数据、添加监听事件的方法 3.在监听方法中 进行处理事件。 对于VideoView来说也不例外, 首先我们可以再xml 布局中引用videoview。 ~~~ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <VideoView android:id="@+id/videoView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true"/> </RelativeLayout> ~~~ 接下来在相关界面进行初始化设置: ~~~ /** * 准备播放工作 */ private void initVideoView() { String uri = ConfigManage.URL_SPLASH; videoView.setVideoURI(Uri.parse(uri)); videoView.setOnPreparedListener(this); // 设置全屏 RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); videoView.setLayoutParams(layoutParams); videoView.setOnCompletionListener(this); } ~~~ 这里设置了 onPrepareListener() 与 OnCompletionListener() 因此我们实现这两个方法 ~~~ @Override public void onPrepared(MediaPlayer mediaPlayer) { videoView.start(); videoView.requestFocus(); } @Override public void onCompletion(MediaPlayer mediaPlayer) { goToMainActivity(); } ~~~ 下面是具体效果,还不错吧,播放起来还是很流畅的, ![](https://box.kancloud.cn/2016-04-06_5704ac5f8e926.jpg) 但是Video播放视频时有格式限制的,应该是仅仅只有 3gp与 MP4 可用, 播放网络视频需要添加联网权限。 完整代码没有做成Demo,需要的可以自己去摘,在项目中的SplashActivity:[https://github.com/CodingForAndroid/appone/](https://github.com/CodingForAndroid/appone/)