PlaySeekbar - Github

Android 视频裁剪自定义 View - 裁减播放的视频(本地视频)

功能需求与预览

有个视频裁剪功能,需要自定义 View 具体如下

  1. 裁剪选择区域模块,可以自定义最少裁剪时间

  2. 当选择低于最少裁剪时间时,再次滑动会自动推动左右选择轴,直至碰到边缘为止

  3. 选择空白区域,并左右滑动时自动推动选择轴的位置

  4. 可选控制(是否裁剪模式,是否显示播放进度,裁剪模式下(未选中的背景增加阴影图层),播放过的背景增加阴影图层等)

具体实现与使用

  • VideoSeekBar.java

使用方法:

注意事项

跑demo前,自己需要找个视频, 并且在 MainActivity 设置本地视频地址

 public void initValues(){// 初始化播放控制器playerControl = new PlayerControl(this, vHandler);// 根目录String rootPath = ProUtils.getSDCartPath();// 本地视频String videoUrl = rootPath + "/a.mp4";// --// videoUrl = rootPath + "/b.mp4";// 重新赋值地址PLAY_URL = videoUrl;// 加载视频封面playerControl.initLoad(COVER_URL, false);// 开始播放vHandler.sendEmptyMessage(FinalConstants.PLAY_START);// ====== 视频剪辑View  ======// 进行重置am_video_seekbar.reset();
//      // 是否需要绘制进度 - 白色进度动,以及走过的画面背景变暗 - 统一控制setProgressLine(isDrawProgress), setProgressBG(isDrawProgress)
//      am_video_seekbar.setProgressDraw(isDrawProgress);
//       是否需要绘制进度 - 播放中,有个白色的线条在动
//      am_video_seekbar.setProgressLine(isDrawProgressLine);
//      // 是否需要绘制进度 - 播放过的画面背景变暗
//      am_video_seekbar.setProgressBG(isDrawProgressBG);
//      // 是否属于裁剪模式 - 两边有进度滑动
//      am_video_seekbar.setCutMode(isCutMode);
//      // 是否属于裁剪模式 - 是否绘制非裁剪模块变暗
//      am_video_seekbar.setCutMode(isCutMode, isDrawProgressLine);// 视频关键帧间隔(毫秒,表示左右两个模块最低限度滑动时间,无法选择低于该关键帧的裁剪时间)float videoFrame = 60 * 1000f;// 设置本地视频路径 - 默认裁剪模式,则不绘制播放背景am_video_seekbar.setVideoUri(true, PLAY_URL, videoFrame);
//      // 不设置关键帧时间,则默认最多是两个ImageView左右多出的宽度
//      am_video_seekbar.setVideoUri(isCutMode, videoUri);}

Android 视频裁剪自定义 View相关推荐

  1. 红橙Darren Android视频笔记 自定义view的三个构造方法以及一种实现换肤的方案 测量mode

    红橙Darren Android视频笔记 import android.content.Context; import android.support.annotation.Nullable; imp ...

  2. Android中的自定义View以及绘图工具

    1.1自定义view的简介 为什么要使用自定义view 在Android开发中有很多业务场景,原生的控件是无法满足应用,并且经常也会遇到一个UI在多处 重复使用情况,那么就需要通过自定义View的方式 ...

  3. android标尺自定义view,android尺子的自定义view——RulerView详解

    项目中用到自定义尺子的样式: 原效果为 因为跟自己要使用的view稍有不同 所以做了一些修改,修改的注释都放在代码中了,特此记录一下. 首先是一个自定义View: public class RuleV ...

  4. Android进阶之自定义View实战(二)九宫格手势解锁实现

    一.引言 在上篇博客Android进阶之自定义View实战(一)仿iOS UISwitch控件实现中我们主要介绍了自定义View的最基本的实现方法.作为自定义View的入门篇,仅仅介绍了Canvas的 ...

  5. 仿微信录制视频之自定义View

    最近公司一个项目需要实现仿微信拍照,然后我去看了看微信的界面: 然后我自己最后实现的界面是这样: 当然,这个界面不是重点,重点是这个自定义View需要实现单击实现拍照,长按实现录制视频.然后这个自定义 ...

  6. android中使用自定义View让图片像画卷一样被展开显示

    首先看下效果图,有点卡顿,这是因为我是用android studio的screen record来录制手机视频的,然后找不到合适的mp4->gif的软件,就使用了一个录屏的软件,所以有点卡顿,但 ...

  7. Android中的自定义view和自定义属性TypedArray的使用

    先总结下自定义View的步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 [ 3.重写onMesure ] 4.重写onDraw 我把3用[]标出了,所以说3不一定是必 ...

  8. Android中实现自定义View组件并使其能跟随鼠标移动

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建An ...

  9. Android开发之自定义view进行旋转动画

    老套路先上图: 整个view非常简单,我自定义view里面都有详细的注释说明 先看自定义view部分代码: package cn.xiayiye5.customizestudy.view;import ...

  10. android自定义view生命周期,android基础之自定义view

    一.Custom View 1.view的继承关系 view继承关系.png 2.Android 如何绘制试图层次 当activity获取焦点时,它必须提供layout层次的根节点,然后android ...

最新文章

  1. Grove Beginner Kits基础实验 Arduino
  2. BZOJ 3223: Tyvj 1729 文艺平衡树(splay)
  3. java线程 对文件copy 可能删除了 报异常_java线程对文件copy可能删除了报异常
  4. 大数运算(5)——大数除法(取模、取余)
  5. html纵向文本,html – 垂直对齐CSS圈中多行的文本
  6. ENISA报告:ICS-SCADA防护建议
  7. spring依赖日志_Spring:设置日志记录依赖项
  8. Java—Map集合详解(HashMap/Hashtable/LinkedHashMap/Properties/TreeMap/WeakHashMap/IdentityHashMap/EnumMap)
  9. 【报告分享】2022戴森品牌社媒营销分析报告:搭“消费升级”快车,走“升维打击”路线.pdf(附下载链接)...
  10. 模块d3d12.dll加载失败_语音控制模块
  11. 我的电脑上的软件推荐
  12. php权限无需验证的控制器,Thinkphp6用中间件实现多个控制器判断用户登录权限
  13. 如何构建一个可用的企业级API网关?
  14. Linux下更改Python的软链接
  15. Java中的十大组织
  16. 智慧物联下主机加固安全解决方案分析
  17. dreamweaver cs5 css教程,网页设计与制作——Dreamweaver CS5标准教程第12章 CSS+Div布局.pptx...
  18. 联想ghost重装系统_一键ghost怎么用|一键ghost重装系统教程|一键重装系统步骤
  19. 图解HTTP-阅读笔记
  20. MySQL分布式设计

热门文章

  1. 【盘点】2018最受欢迎的网页设计软件集合!
  2. Excel 如何批量查询快递单号
  3. IntelliJ Idea编译报错:请使用 -source 7 或更高版本以启用 diamond 运算符
  4. 武大计算机本科毕业论文,武汉大学本科生毕业(论文).docx
  5. es6——模板字符串
  6. 74hc595级联c语言程序,stm32使用三片74HC595级联程序代码
  7. 我的遥远的清平湾(插图版)读后感
  8. redis设置用户名和密码
  9. linux解压tar文件夹
  10. 方正璞华研发的社保股权管理系统初见成效