flutter图片预览_Flutter 视频缩略图
在做即时通讯前整理了一个视频缩略图的工具类,可供码农直接放入项目中使用,涉及到的插件:
video_player: ^0.10.11+2
话不多说代码如下:
import 'package:flutter/material.dart';
import 'package:spanners/cTools/vedioPalyer.dart';
import 'package:video_player/video_player.dart';
class AddVideoFirstImage extends StatefulWidget {
final String videoUrl;
const AddVideoFirstImage({Key key, this.videoUrl}) : super(key: key);
@override
_AddVideoFirstImageState createState() => _AddVideoFirstImageState();
}
class _AddVideoFirstImageState extends State {
//视频 缩略图
VideoPlayerController _controller;
Future _initializeVideoPlayerFuture;
@override
Widget build(BuildContext context) {
@override
void initState() {
// TODO: implement initState
setState(() {
//视频缩略图
_controller =
VideoPlayerController.network(widget.videoUrl); //网络视频,也可以是file
_controller.setLooping(true);
_initializeVideoPlayerFuture = _controller.initialize();
});
super.initState();
}
return Stack(
children: [
Padding(
padding: EdgeInsets.all(0),
child: ConstrainedBox(
constraints: BoxConstraints.expand(),
child: FutureBuilder(
//显示缩略图
future: _initializeVideoPlayerFuture,
builder: (context, snapshot) {
print(snapshot.connectionState);
if (snapshot.hasError) print(snapshot.error);
if (snapshot.connectionState == ConnectionState.done) {
return AspectRatio(
aspectRatio: 2 / 3,
// aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
},
),
),
),
/* 播放 按钮所在位置 大小 可根据实际项目 需要 调整 */
Padding(
padding: EdgeInsets.fromLTRB(
MediaQuery.of(context).size.width / 2 - 30 / 2 - 20,
151 / 2 - 20,
MediaQuery.of(context).size.width / 2 - 30 / 2 - 20,
151 / 2 - 20),
child: InkWell(
onTap: () {
/* 视频上传成功后 点击播放视频 */
Navigator.push(
context,
new MaterialPageRoute(
builder: (context) => new videoPalyer(
url: widget.videoUrl,
)));
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
),
child: Icon(
Icons.play_arrow,
color: Colors.white,
size: 40,
),
),
)),
],
);
}
}
flutter图片预览_Flutter 视频缩略图相关推荐
- flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo
前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...
- flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo_view
前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...
- flutter图片预览_flutter - 图片预览放大滑动(photo_view)
使用flutter 插件photo_view 官方使用方法 pubspec.yaml dependencies: photo_view: ^0.4.2 $ flutter pub get 2.demo ...
- flutter图片预览_flutter 图片查看,仿微信
这个虽然是仿微信的,但是以我自己项目里的要求为主,去掉了一些操作. 这个代码铐去就可以用的. 讲下思路: 手势滑动,不松手前以触摸点的坐标为移动,松手了,按滑动速度,以及滑动范围是否超过一半的屏幕作为 ...
- [转]如何解决Windows图片预览窗口无法显示图片缩略图
问:我的电脑中安装的是Windows 2000,最近发现文件夹的图片预览功能不能使用了,也就是说图片预览窗口无法显示图片缩略图了,在该位置上只有文件的图标.请问这是 ...
- vue图片缩略图及图片预览功能
前言 上次有个需求,是要给图片做个缩略图以及预览功能.其实用vue来实现是很简单的, 几句代码可以搞定,也不需要什么额外的插件. 效果如下: vue显示图片缩略图 vue显示图片预览功能 核心代码 两 ...
- flutter -各类自定义弹窗(图片预览,输入框,键盘)以及如何阻止事件冒泡
开局废话:由于公司app后期需要做混合开发,又担心h5的性能问题.于是迫不得已,只能两端齐搞,验证一些性能优化的问题.打开了一年前flutter正式发布时,蹭热度创建的现已布满藤蔓的仓库,微微颤抖的双 ...
- flutter图片聊天泡泡_flutter即时聊天IM仿微信|flutter聊天界面
鉴于Flutter最近比较火,今天给大家分享的是基于flutter+dart全家桶技术开发的仿微信界面聊天FlutterChat项目实例.实现了消息+表情.图片预览.红包.长按菜单.视频/仿朋友圈等功 ...
- dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库....
http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...
最新文章
- JavaScript错误:Maximum call stack size exceeded错误
- C语言作业关于高空坠球,浙大版《C语言程序设计(第3版)》题目集 习题4-8 高空坠球...
- Word在固定位置插入递增数字
- zeroclipboard浏览器复制插件使用记录
- vld不输出泄漏信息_光纤天线方案和泄漏电缆方案的比较
- C/C++中MySQL环境配置教程
- python旋转地球源代码_90行代码让微信地球转起来,太酷了!(python实现)
- (转)DeepMind 的下一场博弈:用机器学习颠覆资产管理?
- html播放flv直播源码,使用flv.js实现HTML5播放FLV视频文件
- js判断是否微信浏览器
- 破解Quartus II 8.0
- JavaGUI版聊天室
- 软件测试适不适合女生来做?女生做软件测试有哪些好处?
- 十二、项目收尾(华为项目管理法-孙科炎读书摘要)
- 实时商业智能BI(二):合理的ETL架构设计实现准实时商业智能BI
- 如何运营好微信公众号
- android环信删除会话列表,关于环信删除会话之后,从好友列表进入无法显示聊天消息...
- 名悦集团:下雪天怎么保养汽车?
- abcd ab cd 2c语言,整数趣题(求具有abcd = (ab + cd)^2性质的四位数)
- 地狱模式的居转户记录07
热门文章
- 一步步用ABAP Development Tools连接SAP云平台上的ABAP编程环境
- 在同一session内创建, 修改和删除IBASE component
- IBASE change related BDOC generation
- SAP gateway 后台OData model data查看工具
- 如何打印CloudFoundry上应用运行时的环境变量
- Chrome开发者工具Network标签页中观察到的set-cookie jsessionid是什么东西
- 让您的Eclipse具有千变万化的外观 1
- 用ABAP 生成二维码 QR Code
- 医学图像处理期末复习(二)
- eclipse无法创建java虚拟机_2020年哪些IDE是最适合Java开发人员的?