有一种方法来检索有效的声音.长度属性在流加载完成之前



我想知道比特率是多少,所以我这样计算:

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

,但不幸的是,我无法检索_snd的有效值。在所有歌曲加载之前的长度。还有其他方法可以实现这个价值吗?亲切的Pawel

由于您可能正在谈论MP3格式,因此可能存在可变比特率,因此您的公式将生成无意义的输出。其次,流意味着文件实际上是无穷无尽的,所以问一个可能无穷无尽的文件的长度是一个糟糕的问题。然而,在大多数情况下,如果你知道你要播放多少声音,那么你可以事先知道声音的长度。

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

你有ID3信息吗?
如果是这样,你可以得到它,虽然这是不可靠的,因为它取决于编码器或者你可以试试这个第三方软件

最新更新