Как я могу умножить длину видео и размер видео и количество в минуту, чтобы получить общую сумму в Laravel? Я хочу получить общую сумму при загрузке любого аудиофайла или видео.
В настоящее время это то, что я использую, хотя это не то, что я хочу, потому что общая сумма имеет десятичные знаки:
var objectUrl;
$("#audio").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();
//$("#duration").text(time);
$("#duration").val(time);
getSeconds(time);
URL.revokeObjectURL(objectUrl);
});
$("#file").change(function(e){
var file = e.currentTarget.files[0];
$("#filename").text(file.name);
$("#filetype").text(file.type);
$("#filesize").text(file.size);
objectUrl = URL.createObjectURL(file);
$("#audio").prop("src", objectUrl);
});
const totalAmount= document.querySelector('input[name="total_amount"]'); //get total amount input
//add this script before calculating time
//once the you have added this script call this function and pass 'time' as parameter
const getSeconds=(projectLength)=>{
let videoMetadata= projectLength.split(":"); //this will create an array of atmost 3 items (hrs,min,sec);
let videoLengthInSeconds=0;
if (videoMetadata.length>0)
{
switch (videoMetadata.length) {
case 1://this will be seconds assuming the length format is xx for seconds
videoLengthInSeconds= videoMetadata[0];
break;
case 2: //this will be minutes:seconds
videoLengthInSeconds = (Number(videoMetadata[0])*60)+ Number(videoMetadata[1]);
//converted to seconds
break;
case 3: //this will be hours:minutes:seconds
videoLengthInSeconds = (Number(videoMetadata[0])*3600) + (Number(videoMetadata[1])*60) + Number(videoMetadata[2]);
break;
default:
throw new Error("Unkown values");
}
}
calc_Amount(videoLengthInSeconds)
};
const calc_Amount=(videoSeconds)=>{
const AMOUNT_PER_SECOND=0.015;
// const AMOUNT_PER_SECOND=0.333;
totalAmount.value= (AMOUNT_PER_SECOND * videoSeconds).toFixed(2);
};