質問・問題
マイクオーディオのノイズ抑制、エコーキャンセリング、音量調整をそれぞれ無効にする方法はありますか ?
回答・解決方法
マイクから入力される音声は、SDK の設定に応じてノイズ抑制 (ANS)、エコーキャンセリング (AEC)、音量調整 (AGC) の処理が施されます。
殆どの配信・通話においては、これらが有効になっていることが望ましいですが、一部のユースケースでは不必要である場合がございます。
Web 向けの SDK をご利用の場合:
マイク用のオーディオトラックの初期設定で指定可能です。
AgoraRTC.createMicrophoneAudioTrack() API の引数として渡す MicrophoneAudioTrackInitConfig に、AEC、ANS、AGC プロパティに、ユースケースに応じて false と設定ください。
Native および Framework 向けの SDK ご利用の場合:
オーディオ処理はデフォルトで実行されるようになっており、無効にしたい場合は setParameters() API での制御が必要となります。
チャンネルに join する前に、以下のように設定ください。
4.x
・AEC (例)
rtcEngine.setParameters("{\"che.audio.agc.enable\":false}")
・ANS (例)
rtcEngine.setParameters("{\"che.audio.ans.enable\":false}")
・AGC (例)
rtcEngine.setParameters("{\"che.audio.aec.enable\":false}")
3.x
・AEC (例)
rtcEngine.setParameters("{\"che.audio.enable.agc\":false}")
・ANS (例)
rtcEngine.setParameters("{\"che.audio.enable.ans\":false}")
・AGC (例)
rtcEngine.setParameters("{\"che.audio.enable.aec\":false}")
※ ご利用のマイクスピーカーの ANS、AEC、AGC が有効になっている場合は、SDK 側で無効にしても、引き続きが作用する可能性があります。
その場合、マイクスピーカー側の設定で無効になっているか確認ください。