2017-12-26 8 views
0

내 CDN에서 호스팅되는 노래의 오디오 길이 (mm : ss)를 검색하려고합니다. 오디오 파일은 여기에 링크되어 있습니다 : https://ucarecdn.com/6b1c0d8b-3145-4128-b7ff-ce5420fe154e/ (브라우저에이 URL을 붙여 넣으면 오디오 파일이 컴퓨터에 직접 다운로드됩니다 (~ 4MB)).URL에서 오디오 파일 길이 추출

나는 이미 bpm을 추출 할 수 있었으므로 이제 노래의 길이를 결정하고 싶습니다. 온라인 검색은 내가해야합니다 모든 것을 나타납니다

var song = "https://ucarecdn.com/6b1c0d8b-3145-4128-b7ff-ce5420fe154e/"; 
console.log(song.duration); 

하지만 그 undefined

나는이 시도하지만, 수신 NaN를 한 보여줍니다

<audio id="myAudio" controls> 
    <source src="https://ucarecdn.com/6b1c0d8b-3145-4128-b7ff-ce5420fe154e/" type="audio"> 
</audio> 

<script> 
    function myFunction(e) { 
    e.preventDefault; 
    var x = document.getElementById("myAudio").duration; 
    console.log(x); 
    } 
</script> 

답변

1

문제는 기간 수익률이다 NAN 오디오 요소가로드되지 않았기 때문에

2 명이 필요합니다. 문제 +를 해결하기 위해 여기에 일이 먼저 DOM 요소가 두 번째 당신이 다음 시간을 액세스 할 수있는 오디오 loadmetadata 이벤트 핸들러를 수신 할 필요가 + 다운로드 때까지 기다릴 필요가

$(function(){ 
 
const ad = document.getElementById('ad'); 
 
ad.onloadedmetadata = function() { 
 
    // duration in seconds 
 
    alert(ad.duration); 
 
}; 
 
    
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<audio id="ad" src="https://ucarecdn.com/6b1c0d8b-3145-4128-b7ff-ce5420fe154e/" controls></audio>

+0

당신에게 환영합니다. –