如何使用jQuery从媒体上传中获取音频/视频时长

时间:2019-07-13 08:51:28

标签: javascript jquery

当用户通过文件类型输入提交时,我想获得音频和视频的持续时间,大小和名称,我很容易获得名称和大小,但没有持续时间。这是我的代码:

<head>
<title>Get File Size using jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>

<body>
    <p>
        <input type="file" id="file" multiple />
    </p>

    <p id="fp"></p>
    <p id="tp"></p>
</body>

<script>
    $(document).ready(function () {
        let size, min;
        $('#file').change(function () {
            if (this.files.length > 0) {
                $.each(this.files, function (index, value) {
                    let val = value.size / 1024;
                    // var objectUrl = URL.createObjectURL(file);
                    // console.log(objectURL);
                    if(val > 999) {
                        size = Math.round(val/1000) + 'MB';
                    } else {
                        size = Math.round(val) + 'KB';
                    }
                    if(size) {
                    $('#fp').html($('#fp').html() + '<br />' +
                        '<b>' + size + '</b>');
                    }
                    if(min) {
                    $('#tp').html($('#tp').html() + '<br />' +
                        '<b>' + min + '</b>');
                    }

                    $("#file").on("canplaythrough", function(e){
                    var seconds = e.currentTarget.duration;
                    var duration = moment.duration(seconds, "seconds");

                    var time = "";
                    var hours = duration.hours();
                    if (hours > 0) { time = hours + ":" ; }

                    time = time + duration.minutes() + ":" + duration.seconds();
                    console.log(time);
                    $("#duration").text(time);
                });
                })
            }
        });
    });
</script>

我对Java没有太多经验。也有任何方法可以实时显示将多少尺寸上传到的进度。但是目前,我需要使用jQuery进行音频和视频的持续时间。

0 个答案:

没有答案