読み込まれた 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 :)
mp3 LAME フレームのエンコーダーディレイとエンコーダーパディングを分析するため、sound.load 関数を使用した直接ダウンロードは私にはあまり適していません。mp3を隙間なく再生。
loadCompressedDataFromByteArray Adobe のバグなのか、それとも何か間違ったことをしたのか、誰かが知っていますか?