源码已开源到Github:SuperVideoView,有兴趣的朋友可以fork,顺便记得star哈~
之前在群里看到有人在讨论Android VideoView的使用,发现大家都存在几个共同的问题。为了以后大家使用方便也为了自己使用方便,同样减少不必要的坑,便有了今天的内容,对Android VideoView播放器进行功能封装,下面简单介绍下该库增加的功能,以及解决的VideoView存在的Bug问题。。
一、功能优势
(1)播放进度控制
(2)进度提示
(3)屏幕切换
(4)音量调节
(5)屏幕亮度
(6)手势滑动控制
二、Bug解决
解决VideoView在播放视频时,切换屏幕导致视频不能全屏的问题以及黑块问题。
三、使用方式
(1)源码导入
(2)布局文件中设置:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.song.supervideoview.MainActivity">
<com.song.supervideoview.SuperVideoView
android:id="@+id/supervideo"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
(3)Activity或Frament中引用:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
videoView.register(this);// 注册宿主
videoView.setVideoPath(mVideoUriPath); //设置媒体路径,网络媒体和本地媒体路径都使用此方法设置
}
@Override
protected void onPause() {
super.onPause();
videoView.onPause();
}
@Override
protected void onResume() {
super.onResume();
videoView.onResume();
}
(4)代码中对外提供了修改样式等接口,详细可以具体查看源码
四、效果图
(1)竖屏
(2)横屏
(3)上下滑动调节音量
(4)左右滑动调节亮度