基于Android VideoView播放器的封装


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

 


发布了214 篇原创文章 · 获赞 371 · 访问量 92万+

猜你喜欢

转载自blog.csdn.net/u013718120/article/details/70743873