loadCompressedDataFromByteArray пропустил некоторые данные
Я пытался извлечь необработанные данные из загруженного файла 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 мне не очень подходит, потому что я анализирую mp3 LAME frame для encoderDelay и encoderPadding. Для воспроизведения mp3 без пробела.
Кто-нибудь знает, это ошибка loadCompressedDataFromByteArray Adobe или я сделал что-то не так?