我想知道是什麼比特率的歌曲,所以我算這樣說:有沒有辦法在流加載完成之前檢索有效的sound.length屬性?
var bitrate = Math.floor(8*_snd.bytesTotal/_snd.length);
但不幸的是,我不能所有的歌曲被加載之前檢索_snd.length有效值。有沒有其他辦法來達到這個價值? Kindest Pawel
我想知道是什麼比特率的歌曲,所以我算這樣說:有沒有辦法在流加載完成之前檢索有效的sound.length屬性?
var bitrate = Math.floor(8*_snd.bytesTotal/_snd.length);
但不幸的是,我不能所有的歌曲被加載之前檢索_snd.length有效值。有沒有其他辦法來達到這個價值? Kindest Pawel
因爲你可能說的是MP3格式,那麼有可能是可變比特率,你的公式將產生無意義的輸出。其次,數據流實際上意味着無窮無盡的文件,因此詢問一個可能無盡的文件的長度對於一個糟糕的問題的長度。但是,在大多數情況下,如果您知道您將會播放多少聲音,則可以事先知道聲音的長度。
但是由於您的問題實際上是關於比特率,而不是長度,所以我建議您可以使用URLStream加載聲音文件,並從MP3幀讀取比特率信息。它是MP3幀的17到20位。
您是否有ID3信息?
如果是這樣你可以從得到它,雖然這是不可靠的,因爲它取決於編碼器 Alternatively you can try this 3rd party software.
非常感謝您的鏈接,我會看一看。乾杯! – northmantif