Как мне умножить длину видео и размер видео в Laravel контроллере - PullRequest
0 голосов
/ 20 июня 2020

Как я могу умножить длину видео и размер видео и количество в минуту, чтобы получить общую сумму в 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);
};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...