基于Android VideoView播放器的封装

来源:互联网 发布:合肥it 编辑:程序博客网 时间:2024/05/23 13:25


源码已开源到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)左右滑动调节亮度

 


2 0
原创粉丝点击