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