FiveFiveVideoPlayer

FiveFiveVideoPlayer 是一个可以高度自定义的播放器,手势改变亮度,音量,进度;支持调整倍速;可以轻松实现全屏视频播放,列表视频播放,小窗口视频播放

1. 效果示例

1.1 效果图

竖屏效果
竖屏效果

横屏效果

横屏效果

1.2 APK 功能体验

demo比较粗糙,请勿介意

APK 下载 安装体验

扫描二维码图片安装体验(浏览器扫描)

二维码

2. 快速集成

version:Download

2.1 gradle 引入($version 需要替换为上图对应的版本号)

    implementation 'cn.onestravel:FiveFiveVideoPlayer:$version'

例如:

    implementation 'cn.onestravel:FiveFiveVideoPlayer:1.0.1'

2.2 添加权限

    <uses-permission android:name="android.permission.INTERNET" />

2.3 使用 FiveVideoPlayerActivity 播放视频

FiveVideoPlayerActivity 是一个集成播放器的Activity,在只需要播放视频的情况下可直接使用

使用方式:在需要播放视频的地方添加以下代码,开始播放视频

 val path = "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319212559089721.mp4"
 // 传入视频地址开始播放
 FiveVideoPlayerActivity.start(this, path)
 // 传入视频地址和视频标题开始播放
 FiveVideoPlayerActivity.start(this, path,"玩具总动员")
 // 传入视频地址和视频标题开始循环播放
 FiveVideoPlayerActivity.start(this, path,"玩具总动员",true)

2.4 使用 FiveVideoPlayer 播放视频

FiveVideoPlayer :集成了视频播放,控制器,顶部标题栏,右侧选择窗口的View,可以直接使用在xml布局中,
方便使用视频播放器时根据自己的情况更改视频播放器展示View;
可以根据不同的设计方案进行控制器的替换(需实现控制器接口或继承现有控制器类,对需要调整部分进行更改)
可以直接使用右侧选择窗口,实现倍速调整(功能已实现)或者 视频质量的切换(该功能暂未实现)

使用方式:

  • 在布局 xml 文件中加入一下代码
  <cn.onestravel.fivefiveplayer.FiveVideoPlayer
         android:id="@+id/fiveVideoPlayer"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
  • 在Activity 中使用该 View 进行视频播放
        fun initData {
            val path = "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319212559089721.mp4"
            val title = "玩具总动员"
            fiveVideoPlayer.setOnPreparedListener {
                    it.start()
                    it.setVideoDisplayType(PlayerInterface.VIDEO_DISPLAY_TYPE_FIT_CENTER)
            }
            fiveVideoPlayer.setDataSource(path,title)
        }

     override fun onDestroy() {
        try {
            fiveVideoPlayer?.let {
                it.reset()
                it.release()
            }
        } catch (e: Exception) {
            e.printStackTrace()
        }
        super.onDestroy()
    }

    fun initData {
        val path = "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319212559089721.mp4"
        val title = "玩具总动员"
        val looping = false;
        val mediaDataSource = MediaDataSource(title, Uri.parse(path), looping)
        fiveVideoPlayer.setOnPreparedListener {
            it.start()
            it.setVideoDisplayType(PlayerInterface.VIDEO_DISPLAY_TYPE_FIT_CENTER)
        }
        fiveVideoPlayer.setDataSource(it)
        }

       override fun onDestroy() {
           try {
               fiveVideoPlayer?.let {
                   it.reset()
                   it.release()
               }
           } catch (e: Exception) {
               e.printStackTrace()
           }
           super.onDestroy()
       }

2.5 使用 FiveVideoView 播放视频

FiveVideoView :视频播放的View,无控制栏,标题栏,可设置(单击/双击进行播放,暂停操作)可以直接使用在xml布局中,
一般使用在自定义程度比较高的视频播放器中,或者在列表播放中使用;

使用方式:

  • 在布局 xml 文件中加入一下代码
   <cn.onestravel.fivefiveplayer.FiveVideoView
          android:id="@+id/fiveVideoView"
          android:layout_width="match_parent"
          android:layout_height="200dp"
          android:background="@android:color/black"
          app:layout_constraintTop_toTopOf="parent" />
  • 在Activity 中使用该 View 进行视频播放
    fun initData {
          val path = "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319212559089721.mp4"
        fiveVideoView.setDataSource(path)
        fiveVideoView.setOnPreparedListener {
            it.start()
            fiveVideoView.setVideoDisplayType(PlayerInterface.VIDEO_DISPLAY_TYPE_FIT_CENTER)
    }

     override fun onDestroy() {
           try {
               fiveVideoPlayer?.let {
                   it.reset()
                   it.release()
               }
           } catch (e: Exception) {
               e.printStackTrace()
           }
           super.onDestroy()
       }

3. API 文档

点击 FiveFiveVideoPlayer API 文档查看详细API

4. 版本记录

V 1.0.1

1. 实现集成 IJKplayer 内核,可开启硬解码;

2. 实现ExoPlayer内核;

3. 实现可全局设置播放器内核功能;

4. 修复已知bug

V 1.0.0

1. 集成 Media Player 内核

2. 实现视频播放View,实现单击/双击进行暂停,播放

3. 实现视频播放器View,视频播放器Activity

4. 支持手势滑动调整音量,亮度,进度

5. 支持自定义视频播放控制器,播放器内含默认视频控制器
  • 温馨提示:

在使用过程中,如遇到任何问题,可发送邮件至server@onestravel.cn说明相关问题,我在看到邮件第一时间,会针对相应问题进行沟通解决,谢谢支持!