有没有办法在流加载完成之前检索有效的sound.length属性?

时间:2011-10-13 21:20:28

标签: flash actionscript-3 actionscript

我想知道什么比特率是歌曲,所以我这样算:

var bitrate = Math.floor( 8*_snd.bytesTotal/_snd.length);

但遗憾的是,在加载所有歌曲之前,我无法检索_snd.length的有效值。有没有其他方法可以实现这个价值? Kindest Pawel

2 个答案:

答案 0 :(得分:0)

你有ID3信息吗?
如果是这样,你可以从中获得它虽然这不可靠,因为它取决于编码器 Alternatively you can try this 3rd party software.

答案 1 :(得分:0)

由于您可能正在谈论MP3格式,因此可能存在可变比特率,您的公式将产生无意义的输出。其次,流式传输意味着几乎无穷无尽的文件,因此询问可能无穷无尽的文件的长度会导致一个糟糕的问题。但是,在大多数情况下,如果您知道要播放多少声音,可以预先知道声音的长度。

但由于您的问题实际上是关于比特率而不是长度,我建议您可以使用URLStream加载声音文件,并从MP3帧读取比特率信息。它是MP3帧的第17到20位。