Flex ビデオ会議アプリケーションに AEC を実装する必要があります。Flash で直接実行できないことはわかっています。Flex の外部で AEC を行うネイティブ アプリケーションまたはライブラリを作成することを考えています。
私が知る限り、Adobe Connect Pro は AEC を行う外部ライブラリを使用しています。私はこの方向性に従い、似たようなことをしたいと思っています。
私の頭には2つの可能性があります:
1) 独立したカスタム AEC フィルター。
カスタム AEC フィルターはバックグラウンドで実行され、マイクとサウンド カードからのすべてのデータを処理し、AEC を実行します。エコー信号は、再生されるが、次のような一時バッファで遅延されるデータになります: aec(input,delayed_input,output)。
Flash マイク入力はカスタム入力を認識せず、スピーカーも同様であるため、機能するかどうかはわかりません。しかし、システム レベルで AEC を備えた WinXP/Vista ではどのように行われるのでしょうか?
2) Flex の NativeProcess とやり取りする AEC フィルター。
フィルターは NativeProcess によって実行されます。Flex アプリは、マイクの音、受け取ったリモート音声をフィルターに渡し、エコーを除去した音声を返し、Flex はこれをスピーカーに出力します。それは正しいでしょうか?
2) の方法で問題がなければ、次の質問があります。
- Speex の AEC から始めますが、Flex から渡されたデータはどのような形式である必要がありますか? サウンド圧縮に Flex Speex コーデックを選択した場合、それを Speex ライブラリに直接渡すことはできますか?
- パフォーマンスは大丈夫ですか?サウンド フレーム バッファごとに NativeProcess ライブラリを呼び出すのは時間がかかると思います。
- Flash から直接使用できる AEC 実装が AS3 にないのはなぜですか? 私が知る限り、AEC を実行するには、エコー データとマイク データが必要です (Flash 10 では、マイクに直接アクセスできます)。このようにそれをやめる何かが間違いなくありますが、それが何であるかはまだわかりません:)
- 私が使用できる Speex 以外の無料の AEC 実装または DSP ライブラリはありますか?
PS 私は今 Flash/Flex の専門家なので、愚かな質問をして申し訳ありません:)
助けてくれてありがとう、ternyk