Jea*_*ang -5
您可以在上传音频之前获取音频的持续时间。请参阅下面的示例。
使用 jQuery,这是一个解决方案(需要一个库)
$("#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);
});
Run Code Online (Sandbox Code Playgroud)
或者,使用纯 JavaScript,另一种解决方案
var f_duration =0; //store duration
document.getElementById('audio').addEventListener('canplaythrough', function(e){
//add duration in the input field #f_du
f_duration = Math.round(e.currentTarget.duration);
document.getElementById('f_du').value = f_duration;
URL.revokeObjectURL(obUrl);
});
Run Code Online (Sandbox Code Playgroud)
或者您可以通过 HTML5 音频 API 获取音频持续时间。
请参阅:W3Schools 示例和HTML AUDIO DOM OBJECT
document.getElementById("myAudio").duration
Run Code Online (Sandbox Code Playgroud)