強化されたオーディオ API
この機能は、Flash Player および AIR のサポートされているすべてのデスクトップ プラットフォームで使用できます。拡張オーディオを有効にするために、Flash プラットフォームに新しい API を追加しました。この機能は、Flash Player および AIR のモバイルプラットフォームではなく、サポートされているすべてのデスクトップ プラットフォームで利用できます。新しい API は ActionScript 3 でのみ使用できます。オーサリング環境で Flash Player 10.3 または AIR 2.7 (またはそれ以降) および SWF バージョン 12 をターゲットにする必要があり、playerglobal.swc を更新する必要があります。
次のクラスが影響を受けます。 マイク: 拡張マイクを作成し、拡張マイク オプションを構成するための読み取り/書き込みプロパティを作成するために、新しい静的メソッドがこのクラスに追加されました。MicrophoneEnhancedOptions: この新しいクラスを使用すると、拡張マイク設定を構成できます。MicrophoneEnhancedMode: この新しいクラスは、拡張されたマイク操作モードを列挙します。
これについては、Flash Player でのアコースティック エコー キャンセレーションのベスト プラクティスで確認できます。
この API (Microphone、MicrophoneEnhancedOptions、および MicrophoneEnhancedMode クラス) を使用して、FMS デスクトップ クライアントを既に開発しています。そして、このクライアントはノイズなしでうまく動作します。
しかし、最近の flex sdk (flex sdk4.6) は、モバイル プラットフォーム用のこの API をサポートしていません。ノイズ抑制など、モバイル プラットフォームでマイクを強化するにはどうすればよいですか。
ここに私のソースコードがあります:
/ ---デスクトップ------------------ /
microphone = Microphone.getEnhancedMicrophone();
if(microphone)
{
var options : MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
options.autoGain = false;
options.echoPath = 128;
options.nonLinearProcessing = true;
microphone.enhancedOptions = options;
microphone.gain = 85;
// set codec to speex
microphone.codec = SoundCodec.SPEEX;
microphone.encodeQuality = 5;
microphone.framesPerPacket = 1;
microphone.rate = 16;
microphone.setUseEchoSuppression(true);
}
/ -----------------アンドロイド----------------- /
microphone = Microphone.getMicrophone();
if(microphone)
{
//settings
microphone.rate = 16;
microphone.gain = 85;
microphone.setUseEchoSuppression(false);
microphone.setLoopBack( false );
microphone.setSilenceLevel( 0, 20000 );
microphone.codec = SoundCodec.SPEEX;
microphone.encodeQuality = 5;
microphone.framesPerPacket = 1;
}
Androidコードをデスクトップのように実行するにはどうすればよいですか? MicrophoneEnhancedOptions クラスと MicrophoneEnhancedMode クラスの機能を実装するにはどうすればよいですか?
ありがとう。