vue 获取视频时长
参考资料:js获取上传音视频文件的时长
直接通过element-ui自带的上传组件结合js即可,代码如下:
HTML:
<el-upload class="upload-demo" :action="actionUrl" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<button class="ce-button not-hover primary">
<i class="ce-icon_upload"></i>
<span>重新上传</span>
</button>
</el-upload>
得加一个中间字段,用于保存视频时长的值,因为在监听器里面不能直接使用vue页面定义的全局变量:
<input type="text" ref="dur" name='0'/>
js:
     beforeAvatarUpload(file) {
        var fileName = file.name || ''
        var ext = fileName.split('.')[fileName.split('.').length - 1]
        if (ext !== "doc" && ext !== "docx" && ext !== "xls" && ext !== "xlsx"
          && ext !== "ppt" && ext !== "pptx" && ext !== "pdf" && ext !== "mp4") {
          this.$notify({
            title: "失败",
            message: "上传资源只能是 doc/docx/xls/xlsx/ppt/pptx/pdf/mp4 格式!",
            type: "error",
            duration: 3000
          });
          return false
        }
        // ppt(10MB),word(10MB),excel(5MB)
        if (ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx") {
          debugger
          if (parseInt(file.size) > parseInt('10485760')) {
            this.$notify({
              title: "失败",
              message: "上传word、ppt文件上限为10MB!",
              type: "error",
              duration: 3000
            });
            return false
          }
        }
        if (ext == 'mp4') { // 获取视频时长
          var url = URL.createObjectURL(file);
          var audioElement = new Audio(url);
          var duration;
          var ele = this.$refs.dur
          audioElement.addEventListener("loadedmetadata", function (_event) {
            duration = audioElement.duration; //时长为秒,小数,182.36
            ele.name = duration //目前使用这种方式解决js与vue之间的传值问题
            // this.$parent.$data.wDuration = parseInt(duration) //注意传递给接口的时长字段类型要与接口接收的字段类型一致,不然无法获取到值
          });
        }
        this.$parent.$data.wFileName = file.name
        this.$parent.$data.wSize = parseFloat(file.size / 1024).toFixed(2) //获取文件大小
      }
vue 获取视频时长的更多相关文章
- vue / js使用video获取视频时长
		
项目中遇到上传视频功能,需要有预览和获取视频时长功能,因之前使用upload(有需要的话可以参考下我之前的文章),这里就不赘述,直接用来上传视频,不过在上传之前和上传成功后的钩子里,获取不到时长: 没 ...
 - java 代码获取视频时长
		
package test; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; i ...
 - php 获取视频时长
		
利用ffmpeg只能获取到本地视频的信息. function video_time($file) { ob_start(); passthru(sprintf(FFMPEG_PATH, $file)) ...
 - Swift3 根据秒数获取视频时长(转换成00:00:00时间格式)以及将时长转换成秒
		
直接代码了: /// 秒转换成00:00:00格式 /// /// - Parameter secounds: <#secounds description#> /// - Returns ...
 - 获取音、视频时长(NAudio,Shell32,FFmpeg)
		
参考网址:https://blog.csdn.net/u013810234/article/details/57471780 以下为本次测试用到的音.视频格式: audio :”.wav;.mp3;. ...
 - Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器
		
前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...
 - Long类型时间如何转换成视频时长?
		
数据库中存放的视频时长是一个Long类型的毫秒/秒时间,现在需要把这个时间转换成标准的视频时长格式,在我看来这应该是一个很常用的转化有一个很常用的转换方法工具才对,可是我百度找了许久,没有一个简单直观 ...
 - javascript 获得以秒计的视频时长
		
<!DOCTYPE html> <html> <body> <h3>演示如何访问 VIDEO 元素</h3> <video id=&q ...
 - jave获取音频时长
		
本文转载自:http://blog.csdn.net/ntotl/article/details/50419983 下载 jave-1.0.2.jar File source =new File('d ...
 
随机推荐
- js键盘事件以及键盘事件拦截
			
一.键盘事件 onkeydown: 按下键盘时触发 onkeypress: 按下有值的键时触发 注意: onkeypress按下 Ctrl.Alt.Shift.Meta 这样无值的键,这个事件不会触发 ...
 - 为什么要学 Python? python该怎么学
			
很多童鞋对为什么学习Python感到迷茫,小编来跟大家说说学习Python的10个理由,希望可以帮助到大家!!! 摘要: 看完这十个理由,我决定买本python从入门到精通! 如果你定期关注现今的科技 ...
 - Java反射及注解
			
一.反射 1.动态语言:是指程序在运行是可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见的JavaScript就是动态语言,除此以外Python等也属于动态语言,而C.C ...
 - Docker基础概念与安装
			
Docker是什么? Docker最初是dotCloud公司的创始人Solomon Hyks在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以 ...
 - VS2017 打开WebService 提示已经在解决方案中打开了具有该名称的项目
			
.net开发.用VS2017工具,打开VS2010创建的WebSevice工程时,提示工程不可用. 重新加载后提示:已经在解决方案中打开了具有该名称的项目. 该问题原因是因为启用了源代码管理工具的问题 ...
 - Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.
			
微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...
 - 【Android】基于A星寻路算法的简单迷宫应用
			
简介 基于[漫画算法-小灰的算法之旅]上的A星寻路算法,开发的一个Demo.目前实现后退.重新载入.路径提示.地图刷新等功能.没有做太多的性能优化,算是深化对A星寻路算法的理解. 界面预览: 初始化: ...
 - sql使用cte表达式进行递归查询
			
--递归获取所有子节点 with temp as ( select * from MK_Base_Department where F_DepartmentId='5f258320-c1b7-42a4 ...
 - 一文解读DevOps工具链 (转)
			
在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...
 - jsp页面格式化时间 fmt:formatDate格式化日期
			
使用fmt函数需在jsp中引入 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" ...