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); 

しかし、それは私もこれをしようとしますが、NaNを受けてきたundefined

を示しています

<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

期間にアクセスすることができます歓迎します。 –

関連する問題