私はRAW PCMオーディオデータを再生するためにフラッシュの能力をたくさん探してきました。私はRAW PCMオーディオをByteArrayとして持っています。いくつかの記事は、はい、いいえ、RAW PCMオーディオがライブソケットストリームから来ていることに注意してください。Flashを使用してライブソケットストリームのPCM生データを再生する
今のところ私は空のSoundオブジェクトを作成し、その後、そのSampleDataEvent.SAMPLE_DATAイベントを処理し、いくつかのコードスニペットの下に、そこからバイトを渡しますので、これを行うことで、私はかなり(静的な音を聞くことができるよ
sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, sampleDataHandler);
....
pa.readBytes(soundBA, soundBA.length);
if (soundBA.bytesAvailable >= (8192 * 4))
{
sound.play();
}
....
private function sampleDataHandler(event:SampleDataEvent):void {
var i:int;
for (i = 0; i < 8192 && soundBA.bytesAvailable > 0; i++)
{
var sample:Number = soundBA.readFloat();
event.data.writeFloat(sample);
event.data.writeFloat(sample);
}
}
あなたは私がこのチェックを持っていることがわかるのでsoundBA.bytesAvailable >= (8192 * 4)
なので、再生方法は十分なデータがあれば起動されます。
私の質問は今ですが、この音(聞こえるノイズ)は、FlashがPCMオーディオを再生できることを意味しますか?またはそれはそれがそれを再生することができないので、唯一の騒音が聞こえることを意味しますか?
=====編集======は
私はちょうど私が処理していた音声は、サンプルあたり16ビットを持っていることを発見したので、私はsoundBA.bytesAvailable >= (8192 * 2 * channels)
を行うことによって、コードを少し調整し、また、Iフラッシュサウンドオブジェクトのサンプリング・レート(Hz)を設定する方法はあり範囲の値を渡す-1 +1に私のevent.data.writeFloat(sample)
コールに確認しましたが、それでも音はまだ
チクチクですか?またはあなたは常に44100Hzを使用していると思っていますか?