MP3 Analizer

by Sasá Rafalsky

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<b>MP3 Analizer</b>
<br><br>
<input type="file" id="file" />
<audio id="audio"></audio><br>
<br>
<label>File Name:</label> <span id="filename"></span>
<br>
<label>File Type:</label> <span id="filetype"></span>
<br>
<label>File Size:</label> <span id="filesize"></span>
<br>
<label>S.Duration:</label> <span id="duration"></span>

JavaScript

//File info Uploader
//MOMENT JS //cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.js
var objectUrl;

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

    var hours = Math.floor(duration / 3600);
    var minutes = Math.floor((duration % 3600) / 60);
    var seconds = Math.floor(duration % 60);

    var time = [];
    if (hours) {
        time.push(hours)
    }
    time.push(((hours ? "0" : "") + minutes).substr(-2));
    time.push(("0" + seconds).substr(-2));

    $("#duration").text(time.join(":"));

    URL.revokeObjectURL(objectUrl);
});

$("#file").change(function (e) {
    var file = e.currentTarget.files[0];

    $("#filename").text(file.name.substr(0, file.name.lastIndexOf(".")));
    $("#filetype").text(file.type);
    $("#filesize").text(file.size);
    
    if (file.duration == undefined) {
    	file.duration = '00:00';
      $("#duration").text(file.duration);
    } else {
        $("#duration").text(file.duration);
    }

    objectUrl = URL.createObjectURL(file);
    $("#audio").prop("src", objectUrl);
});