loadCompressedDataFromByteArray错过了一些数据

时间:2012-12-09 10:42:13

标签: actionscript-3 flash flex audio flash-player-11

我尝试从加载的mp3文件中提取原始数据。突然之间,sound.extract方法返回的数据少于Math.floor(sound.length * 44.1)。

sound = new Sound();
sound.loadCompressedDataFromByteArray( data, data.length );
_output = new ByteArray();
var len : Number = sound.extract( _output, Math.floor( sound.length * 44.1 ) );

例如:

Math.floor( sound.length * 44.1 ) = 213120, but len = 211968 :(

我尝试了很多mp3文件,而sound.extract总是返回预期的数据。

我也尝试使用sound.load()函数加载数据,在这种情况下,sound.extract按预期返回Math.floor(sound.length * 44.1)。

Math.floor( sound.length * 44.1 ) = 213120 and len = 213120 :)

使用sound.load函数直接下载并不适合我,因为我分析了用于encoderDelay和encoderPadding的mp3 LAME帧。对于没有间隙的播放mp3。

有人知道它是loadCompressedDataFromByteArray Adob​​e bug还是我做错了什么?

0 个答案:

没有答案