zoukankan      html  css  js  c++  java
  • 用js获取视频播放时长

    用js实现读取本地mp4文件时长

    利用h5 video标签加载视频文件,在读取duration就可以了

    问题在于要更换文件,使用<input type="file" > 标签发现读取的文件路径是隐藏的c:/fakepath/xxx.mp4

    给video更换src时候会提示找不到文件。。。

    又找了很久,大多是加载flash控件然后通过flash再取,不太喜欢这么做。

    如今这H5的时代感觉这个小功能应该不是问题,又想了想,之前做过js读取本地图片在web上做预览,估计读个视频应该也可以所以试了一下

    var url = URL.createObjectURL(file);

    获取文件的url,测试可以读取到 blob:null/32052613-1f41-4b77-b65d-c1a989d7fe32,又试了一下 video.src=url发现视频可以加载。那么duration就能读取到了。

    <video style="display:none;" controls="controls" id="aa" oncanplaythrough="myFunction(this)"></video>
    <input type="file" onchange="changeFile(this)" >
    function myFunction(ele) {<span style="white-space:pre">
    </span>console.log(Math.floor(ele.duration));}
    function changFile(ele){
    var video = ele.files[0];
    var url = URL.createObjectURL(video);
    console.log(url);
    document.getElementById("aa").src=url;}


    终于通过这种间接的方式把时长获取到了。

    chrome内核的测试了没问题,其他 我先不考虑了

  • 相关阅读:
    R-时空可视化
    zz温故知新:Tomcat调优&JVM内存性能调优
    《CarbonData》
    《RocketMQ》
    《LinuxTools》
    《为什么说 Prometheus 是足以取代 Zabbix 的监控神器?》
    《Zabbix》
    zz《百度地图商业选址》
    《Dapper》
    BZOJ 1601: [Usaco2008 Oct]灌水 最小生成树_超级源点
  • 原文地址:https://www.cnblogs.com/fordouble/p/7027671.html
Copyright © 2011-2022 走看看