本类共有 4110 篇文章,今日更新 0

使用flash来获取mp3的近似总长度

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-21 18:18:07 | 浏览: 人次 ]


众所周知,Flash是无法直接获得一首未完全下载完的mp3的总长度。然而在Flash的Sound类中有二个方法和一个属性对获取mp3的总长度很有用。
Sound.getBytesLoaded() 返回为指定声音加载的字节数。
Sound.getBytesTotal() 以字节为单位返回声音的大小。
Sound.duration 已加载的声音的长度,以毫秒为单位。
所以可以用这样的方法来计算mp3的总长度
var mySound = new Sound();
//add your song and code
_root.onEnterFrame = function() {
duration = mySound.duration;
bytesTotal = mySound.getBytesTotal();
bytesLoaded = mySound.getBytesLoaded();
totalTime = (duration*bytesTotal)/bytesLoaded;
trace(totalTime)
};当然由于精度问题,不可能在刚开始加载时就准确的算出总长度,但是这个误差一般不超过3%而且随着下载进度会越来越精确。

广告位