AdobeAIRでWebカメラの映像を録画して保存2(音声もキャプチャ)


昨日これ(AdobeAIRでWebカメラの映像を録画して保存)で作ったサンプルを、音声もキャプチャして音声付きビデオデータとして保存できるように修正してみました。

今回のサンプルアプリ(AdobeAIR 3.9以降が必要です)は、
こちらからダウンロードできます

今回のサンプルでは、昨日の記事に載せていたコードに、下記のようなマイクからの音声をバイト配列として取り出してエンコーダに渡すコードを追加しました。

・マイクロフォンと音声バッファ(バイト配列)の初期化・設定

_mic = Microphone.getMicrophone();
_mic.setLoopBack( true );
_mic.setSilenceLevel( 0 );
_mic.rate = 44;
_mic.addEventListener( SampleDataEvent.SAMPLE_DATA, onSmple );

_soundBuffer = new ByteArray();

・マイクからの音声のサンプリング

private function onSmple( e:SampleDataEvent ):void
{
	_soundBuffer = e.data;
	_soundBuffer.position = 0;
}

・音声のサンプルレートを設定してエンコーダに音声データを渡す

_flvWritter.setAudioProperties( FlvEncoder.SAMPLERATE_44KHZ );
_flvWritter.addFrame( _videoBuffer, _soundBuffer );

こんな感じで音声付きのビデオファイルが保存できるようになりました。