Чтобы получить продолжительность аудиофайла в JavaScript, вы можете использовать несколько методов. Вот несколько вариантов:
- HTMLAudioElement: вы можете создать элемент
Audioв JavaScript и использовать его свойствоdurationдля получения продолжительности аудиофайла. Вот пример:
var audio = new Audio('audiofile.mp3');
audio.addEventListener('loadedmetadata', function() {
var duration = audio.duration;
console.log(duration);
});
- MediaElement: Если у вас уже есть элемент
в вашем HTML, вы можете напрямую получить доступ к его свойствуduration. Вот пример:
var audioElement = document.getElementById('myAudio');
var duration = audioElement.duration;
console.log(duration);
- API веб-аудио. Если вам нужен больший контроль над воспроизведением звука, вы можете использовать API веб-аудио. Вы можете загрузить аудиофайл с помощью
fetchилиXMLHttpRequest, а затем декодировать его с помощьюAudioContextдля получения продолжительности. Вот пример:
var audioContext = new AudioContext();
var request = new XMLHttpRequest();
request.open('GET', 'audiofile.mp3', true);
request.responseType = 'arraybuffer';
request.onload = function() {
audioContext.decodeAudioData(request.response, function(buffer) {
var duration = buffer.duration;
console.log(duration);
});
};
request.send();