一、前言

最近在做的一个app,有个需要是需要调起摄像头进行录像,同时提交时,后台需要知道视频的时长及大小。基于这个需求,所以总结一下开发记录

二、引用

1 image_picker

功能:调起摄像头,照片或视频拍摄和选取都可。

地址:https://pub.dev/packages/image_picker

2 video_player

功能:视频播放,这里主要用于解析视频。

地址:https://pub.dev/packages/video_player

三、使用

1 代码实现

import 'package:image_picker/image_picker.dart';
import 'package:video_player/video_player.dart';late VideoPlayerController _controller;/// 录屏
Future _testRecordTheScreen() async {/// 打开摄像头录制视频,并限制时长5minPickedFile? image = await ImagePicker().getVideo(source: ImageSource.camera,maxDuration: Duration(minutes: 5));if(image != null){/// 视频绝对路径地址String path = image.path;File f = File(path);/// 文件大小,单位:Bint fileSize = 0;/// 视频时长,单位:秒int seconds = 0;_controller = VideoPlayerController.file(f);_controller.initialize().then((value) {_controller.setLooping(true);seconds = _controller.value.duration.inSeconds;fileSize=f.lengthSync();});/// 视频名称var name = path.substring(path.lastIndexOf("/") + 1, path.length);}
}

2 文件大小格式转换

renderSize(double value) {if (value == 0.0) {return "0.00B";}List<String> unitArr = []..add('B')..add('K')..add('M')..add('G');int index = 0;while (value > 1024) {index++;value = value / 1024;}String size = value.toStringAsFixed(2);return size + unitArr[index];
}

3 格式化时间

renderTime(int value) {if (value == 0) {return "0秒";}var min = value ~/ 60;var second = value % 60;if(min == 0){return "$second秒";}return "$min分$second秒";
}

Flutter调用摄像头录像及获取视频信息相关推荐

  1. python3 + opencv 调用摄像头录像后保存视频

    python3 + opencv 调用摄像头录像后保存视频 #!/usr/bin/python3 import cv2## opening videocapture cap = cv2.VideoCa ...

  2. opencv-python——调用摄像头录制并保存视频

    调用摄像头录制并保存视频 import numpy as np import cv2cap = cv2.VideoCapture(0) fourcc = cv2.VideoWriter_fourcc( ...

  3. python,ffprobe获取视频信息

    背景 需要获取视频基础信息,如果分辨率.大小.播放时长等,研究发现ffprobe工具已经提供了非常全面的视频信息,用ffprobe分析视频很简单,且看我是怎么在python码中调用ffprobe来提取 ...

  4. python ffmpeg 获取视频信息_ffmpeg获取视频信息

    php使用ffmpeg获取视频信息可以获取到视频的分辨率.文件大小.播放时长.编码格式.视频格式.音频编码.音频采样频率.等..... 废话不多说,直接上代码.../** * Name: ffmpeg ...

  5. 使用MATLAB读取视频并获取视频信息、分帧保存

    题外话:初学MATLAB,是因为跟着老师做项目,与MATLAB机器学习相关,包含了智能信息处理,是从前未接触的领域.因此,想写博客来记录自己的学习进度.老师安排的第一次任务为:用MATLAB读取视频, ...

  6. 干货,用UI自动化方式获取视频信息,请勿恶意爬虫

    这一期我们来分享利用UI自动化方式获取视频信息 1.分析请求数据(包括解析文章请求.内容请求.视频请求.token等解析): # -*- coding = utf-8 -*- # ---------- ...

  7. FFmpeg代码编程获取视频信息

    FFmpeg使用代码获取视频信息 在写代码之前,我门先用命令来查看一下视频信息: 输入:ffprobe 1080P.mp4 即可反馈如下媒体信息: 这些信息其实都可以使用ffmpeg来获取.有时候,我 ...

  8. python读取调用摄像头并将读取视频写入视频文件

    部分情况下,我们利用python调取摄像头后,想要把录制的视频读入文件中保存起来,那么应该怎么做呢,具体请看代码: import cv2 import oscap = cv2.VideoCapture ...

  9. java 获取视频信息_Java获取视频参数信息

    Java获取视频参数信息 资料收集 经过搜索常用的处理视频的方式有两种:xuggler 和 ffmpeg 因ffmpeg 需要使用JNI调用,这里采用xuggler方式 使用xuggler获取视频宽. ...

  10. php获取视频信息,支持优酷土豆新浪腾讯等多家网站

    video.php类 <?php /** * 解析 视频信息 类 * * 支持 优酷, 土豆 酷6 56 新浪 qq播客 乐视 乐视 **/class class_video{// 超时时间va ...

最新文章

  1. 【arduino】亲测MAC上arduino安装ESP32 SPIFFS插件
  2. 均方根误差有没有单位_Python误差评判:MAE、MSE、RSquare、MAPE和RMSE
  3. python 3.5opencv 环境搭建_Python3.5+openCv进行人脸识别的环境搭建(Windows下)
  4. 基于Struts2的文件上传
  5. vue引入id3_Vue页面间传值,客户端数据存储,以及父子组件间props传值
  6. 在anaconda中运行jupyter notebook,无法自动打开浏览器的解决方案,亲测100%有效
  7. 404、500、502等HTTP状态码介绍
  8. python是什么类型的编程语言-Python是个什么语言?
  9. Powershell 磁盘使用空间监控,并使用dbmail发送邮件
  10. 《CMOS集成电路后端设计与实战》——第2章 集成电路后端设计方法
  11. cocos2d-基本概念(5)-Effects 效果
  12. matlab画简谐振动图,简谐振动合成matlab
  13. 【最强实习生】20场Android面试斩获大厂offer,来看看我都会些什么
  14. vue.js中修饰符.stop的用法。
  15. python 超级秒表
  16. Git No newline at end of file
  17. 虚拟机复制镜像操作方法
  18. CUDA: Occupancy(占用率)详解
  19. android 按钮在键盘上,Android使用键盘上的完成按钮点击按钮
  20. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记...

热门文章

  1. Unity-Animator深入系列---测试CrossFade和CrossFadeInFixedTime
  2. 小学必背古诗词80首(带拼音)
  3. php订阅号如何吸粉,公众号如何快速吸粉,一周内吸粉7000+的6个技巧
  4. 乌克兰网站网站服务器,乌克兰服务器地址ip
  5. 如何将WebRoot部署到tomcat中
  6. 玩机技巧|去除Windows桌面快捷方式图标左下角上的小箭头
  7. 查理·芒格:分享12个顶级思维模型
  8. [原创]修改jquery.slideBox.js插件,自定义部分事件
  9. 硬币组合问题python_Python,求钱币组合情况,用一分两分和五分的硬币攒的钱一元钱,的所有情况...
  10. 符号_特殊符号大全狐狸符号加字和复制