VideoView和MediaController
在Android上最快速的实现一个播放器的方法莫过于使用VideoView+MediaController的方式了。其中VideoView继承自SurfaceView,内部使用了MediaPlayer实现对视频的解码和渲染。看一下VideoView的方法,其中比较重要的方法就是setVideoURI,设置播放的视频源,可以是本地文件,也可以是网络文件。start/stop/suspend/pause/resume/seekTo就是主要的播放程。VideView实现了MediaController的接口,可以通过setMediaController来设置一个控制播放的MediaController控件。




实例
首先我们在Manifest文件中添加一个VideoView的控件。
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>
创建播放器,在Activity中,通过下面的代码就可以通过VideoView和MediaController创建出一个播放器。具有基本的播放功能。
String video_path = Environment.getExternalStorageDirectory().getPath() + "/test.mp4";
final VideoView videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVideoPath(video_path);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.start();
我们可能希望得到一个全屏的界面,通过以下的代码即可实现窗口全屏。这个需要在setContentView之前调用。
private void hideSystemUI() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
参考:
developer.android.com/reference/a… developer.android.com/reference/a… www.techotopia.com/index.php/A…