Как узнать длительность нескольких аудиофайлов? - PullRequest
0 голосов
/ 19 сентября 2018

Я использую приведенный ниже код для загрузки нескольких файлов.

<input accept=".mp3,.wav" type="file" id="files" class="file" multiple />

Что мне нужно сделать, чтобы получить продолжительность всех загруженных файлов?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Попробуйте подписать

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);
    
    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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p>Select a .mp3 file</p>
<input type="file" id="file" accept=".mp3,.wav" />

<audio id="audio"></audio>

<p>
  <label>File Name:</label>
  <span id="filename"></span>
</p>

<p>
  <label>File Type:</label>
  <span id="filetype"></span>
</p>

<p>
  <label>File Size:</label>
  <span id="filesize"></span>
</p>

<p>
  <label>Song Duration:</label>
  <span id="duration"></span>
</p>
0 голосов
/ 19 сентября 2018

Чтобы узнать длину аудиофайлов, используйте audio свойство duration:

var duration = document.getElementById("files").duration;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...