Adobe AIR アプリケーションでマイクからオーディオ サンプルをキャプチャし、それらを flv ファイルに保存したいと考えています。次のコードがあります。
mic.setSilenceLevel(0, DELAY_LENGTH);
mic.codec = SoundCodec.SPEEX;
mic.encodeQuality = 6;
mic.framesPerPacket = 1;
mic.gain = 100;
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
問題は、ハンドラーで圧縮されたサンプルではなく生のサンプルのみを取得していると思われることです。私の疑念の理由は、メッセージごとに取得するバイト数が、圧縮されたオーディオではなく生のオーディオの 20 ミリ秒 (私の定義では 1 Speex フレーム) に等しいからです。また、encodeQuality を変更してもバイト数は変わりません。ドキュメントを読むと、adobe はフラッシュ メディア サーバーまたは別のピアに送信する前にオーディオのみを圧縮することが示唆されています。圧縮されたサンプルを取得するために、ストリームをローカルで公開して読み取る方法はありますか。? または、圧縮されたサンプルを取得する他の方法はありますか?