在做即时通讯前整理了一个视频缩略图的工具类,可供码农直接放入项目中使用,涉及到的插件:

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 视频缩略图相关推荐

  1. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo

    前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...

  2. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo_view

    前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...

  3. flutter图片预览_flutter - 图片预览放大滑动(photo_view)

    使用flutter 插件photo_view 官方使用方法 pubspec.yaml dependencies: photo_view: ^0.4.2 $ flutter pub get 2.demo ...

  4. flutter图片预览_flutter 图片查看,仿微信

    这个虽然是仿微信的,但是以我自己项目里的要求为主,去掉了一些操作. 这个代码铐去就可以用的. 讲下思路: 手势滑动,不松手前以触摸点的坐标为移动,松手了,按滑动速度,以及滑动范围是否超过一半的屏幕作为 ...

  5. [转]如何解决Windows图片预览窗口无法显示图片缩略图

    问:我的电脑中安装的是Windows                   2000,最近发现文件夹的图片预览功能不能使用了,也就是说图片预览窗口无法显示图片缩略图了,在该位置上只有文件的图标.请问这是 ...

  6. vue图片缩略图及图片预览功能

    前言 上次有个需求,是要给图片做个缩略图以及预览功能.其实用vue来实现是很简单的, 几句代码可以搞定,也不需要什么额外的插件. 效果如下: vue显示图片缩略图 vue显示图片预览功能 核心代码 两 ...

  7. flutter -各类自定义弹窗(图片预览,输入框,键盘)以及如何阻止事件冒泡

    开局废话:由于公司app后期需要做混合开发,又担心h5的性能问题.于是迫不得已,只能两端齐搞,验证一些性能优化的问题.打开了一年前flutter正式发布时,蹭热度创建的现已布满藤蔓的仓库,微微颤抖的双 ...

  8. flutter图片聊天泡泡_flutter即时聊天IM仿微信|flutter聊天界面

    鉴于Flutter最近比较火,今天给大家分享的是基于flutter+dart全家桶技术开发的仿微信界面聊天FlutterChat项目实例.实现了消息+表情.图片预览.红包.长按菜单.视频/仿朋友圈等功 ...

  9. dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库....

    http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...

最新文章

  1. JavaScript错误:Maximum call stack size exceeded错误
  2. C语言作业关于高空坠球,浙大版《C语言程序设计(第3版)》题目集 习题4-8 高空坠球...
  3. Word在固定位置插入递增数字
  4. zeroclipboard浏览器复制插件使用记录
  5. vld不输出泄漏信息_光纤天线方案和泄漏电缆方案的比较
  6. C/C++中MySQL环境配置教程
  7. python旋转地球源代码_90行代码让微信地球转起来,太酷了!(python实现)
  8. (转)DeepMind 的下一场博弈:用机器学习颠覆资产管理?
  9. html播放flv直播源码,使用flv.js实现HTML5播放FLV视频文件
  10. js判断是否微信浏览器
  11. 破解Quartus II 8.0
  12. JavaGUI版聊天室
  13. 软件测试适不适合女生来做?女生做软件测试有哪些好处?
  14. 十二、项目收尾(华为项目管理法-孙科炎读书摘要)
  15. 实时商业智能BI(二):合理的ETL架构设计实现准实时商业智能BI
  16. 如何运营好微信公众号
  17. android环信删除会话列表,关于环信删除会话之后,从好友列表进入无法显示聊天消息...
  18. 名悦集团:下雪天怎么保养汽车?
  19. abcd ab cd 2c语言,整数趣题(求具有abcd = (ab + cd)^2性质的四位数)
  20. 地狱模式的居转户记录07

热门文章

  1. 一步步用ABAP Development Tools连接SAP云平台上的ABAP编程环境
  2. 在同一session内创建, 修改和删除IBASE component
  3. IBASE change related BDOC generation
  4. SAP gateway 后台OData model data查看工具
  5. 如何打印CloudFoundry上应用运行时的环境变量
  6. Chrome开发者工具Network标签页中观察到的set-cookie jsessionid是什么东西
  7. 让您的Eclipse具有千变万化的外观 1
  8. 用ABAP 生成二维码 QR Code
  9. 医学图像处理期末复习(二)
  10. eclipse无法创建java虚拟机_2020年哪些IDE是最适合Java开发人员的?