Flutter videoplayer
视频播放项目地址
效果图
从pub.dev搜索视频播放库,但都不能满足要求,最后下载flick-video项目代码,做了功能简化和修改。
实现功能:
列表播放时,不支持拖动修改进度亮度声音,避免滑动冲突,全屏和单一视频播放时支持
1、屏幕左侧上下滑动修改屏幕亮度
2、屏幕右侧上下滑动修改视频音量
3、横向滑动切换播放进度
4、长按2倍速播放
5、支持全屏播放,并且全屏时可手动切换全屏播放方向
6、列表滑动自动播放
代码结构
Container(width: double.infinity,height: 200,child: VideoPlayerWidget(videoManager: videoManager,videoWithControls: VideoPlayerWithControlWidget(controls:VideoControlWidget(videoManager: videoManager),)),),
1. VideoPlayerWidget
使用MultiProvider注册监听
videoManagerModel :控制video player,播放暂停设置监听等操作;
viewManagerModel :控制播放过程的ui更新;
2. VideoPlayerWithControlWidget
置放视频播放器,即一些触屏操作
GestureDetector:点击、长按、横向拖动、纵向拖动操作
3 . VideoControlWidget
视频播放控制界面,操作时通过model执行操作更新界面
=注意Stack内部Positioned的lef top bottom right 对子组件尺寸的影响,开发过程遇到 因为位置设置错误影响其他组件被遮挡看不见 误以为未显示 的问题=
整个项目实质两个叠加界面 下层视频界面负责播放 上层ui界面负责控制,最外层MultiProvider监听
开发过程遇到的问题
1. Volume和Brightness调控需要通过MethodChannel
2. Satck内部Positioned位置对尺寸的影响
3. 全屏播放使用OverlayEntry显示,控制屏幕方向 实现
4. 注意状态切换,videoManagerModle中_videoListener()中有详细区分
Flutter videoplayer相关推荐
- Flutter视频播放、Flutter VideoPlayer 视频播放组件精要
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...
- Flutter videoplayer适配
不留黑边适配方法 Center(child: SizedBox.expand(child: FittedBox(fit: BoxFit.cover,child: SizedBox(height: 16 ...
- Flutter 项目开发指导 从基础入门到精通使用目录
Flutter 从入门 到精通系列文章 本文章为 Flutter 开发中的经验积累分享.教程分享.开发笔记分享目录,持续维护中. 题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Fl ...
- flutter图片预览_Flutter 视频缩略图
在做即时通讯前整理了一个视频缩略图的工具类,可供码农直接放入项目中使用,涉及到的插件: video_player: ^0.10.11+2 话不多说代码如下: import 'package:flutt ...
- flutter开发仿抖音首页面上下滑动切换播放视频效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. -----[视频教程 感兴趣的伙伴可以瞅瞅] 本小节讲述: 1 VideoPlayer 视频播放组件使用 2 Vide ...
- flutter 斗音页面
1.TabBar 与 TabBarView 实现左右滑动切换页面 2.PageView 实现视频列表上下整屏切换 3.VideoPlayer 实现视频播放 4.ModelBottomSheet 实现底 ...
- 跟我一步一步实现 Flutter 视频播放插件 (一)
当团队准备着手做 APP 时,我们把目标对准了 Flutter,尤其近期 Flutter 的使用热度一直不断攀升.由于第一次使用 Flutter,就想通过自己的实践去提升自己的能力. 在做 APP 时 ...
- Flutter video_player视频播放器简单实用
1.支持Android.ios.web三平台 2.在使用的页面加入下面的代码 import 'package:auto_orientation/auto_orientation.dart'; impo ...
- Flutter使用video_player实现视频播放
通过flutter的video_player插件 1.首先在 pubspec.yaml 文件下添加 video_player: ^2.6.0,如果你是在 vscode开发的,ctrl + s 会自动加 ...
- 入坑 Flutter 前你需要知道的一些 XXX
扳指一算,这已经是 Flutter 出道的第三个年头了.这两年来,用它写过几个类似计算器.手电筒.罗盘之类小到不能再小的应用,也算是对其有一点点拙见,本文纯属爽完后的瞎掰,不涉及过多的代码,只对准备入 ...
最新文章
- 《kafka中文手册》- 构架设计(一)
- java ecj_java - 在Maven构建中使用Eclipse Java Compiler(ecj) - 堆栈内存溢出
- 关闭系统进程,以及如何调用cmd并执行命令
- 图解 _INTSIZEOF(n)
- Python入门--文件对象的常用方法,write,read,readline
- Opencascade关键词
- 光纤的基本理论光纤的色散
- 华为举办首届用户精英论坛,携手共创数据存储新未来
- 消费新品周报 | 歌帝梵携手大白兔推出全冰品系列;MK推出新一代智能触屏腕表...
- mac 解决sudo: no valid sudoers sources found, quitting
- 实战篇--优惠券秒杀
- linux运行docker容器,添加映射端口
- vue的hook(钩子函数)
- 分布式是大数据处理的万能药?
- 逆水寒能不能网页预约服务器,逆水寒怎么预约春暖花开服务器 春暖花开服务器预约流程...
- 用友总账模块显示不能登录到服务器,用友软件部分常见问题
- CHAPTER 24 Dialog Systems and Chatbots
- SRAM 和 DRAM 的区别
- qlv格式无需工具快速转MP4
- zeplin加载 不出图片_为什么Zeplin不能解决您的所有问题
热门文章
- 《人人都该买保险》读书笔记
- 掘金mysql_MySQL学习笔记(转自掘金小册 MySQL是怎样运行的,版权归作者所有!)
- 优质前端掘金小册推荐及优惠购买链接
- 机器学习数学基础(1)-回归、梯度下降
- 基于PHP+MySQL的物流配送管理系统平台
- 手机哪个软件可以远程控制服务器,手机远程有什么功能?手机远程协助软件哪个好?...
- pandavan路由器升级php到7,下载宝pandavan固件+H3C交换机单线复用问题讨论
- IDEA external library 这个里面是空的怎么办
- HBase编程api介绍(转)
- Java将视频文件、图片文件转Base64编码