オーディオ通話エクスペリエンスにオーディオ品質の強化を追加する
Azure Communication Services オーディオ効果のノイズ抑制機能を使用すると、不要なバックグラウンド ノイズを除去することで、オーディオ通話を改善できます。 ノイズ抑制は、オーディオ通話からバックグラウンド ノイズを除去するテクノロジです。 周囲のノイズを排除すると、話しやすく聞きやすくなります。 ノイズ抑制では、ノイズの多い場所によって引き起こされる注意散漫や疲労を軽減することもできます。 たとえば、騒がしいコーヒー ショップで Azure Communication Services WebJS 通話を行っている場合、ノイズ抑制を有効にすると、通話エクスペリエンスが向上することがあります。
オーディオ効果の使用 - 通話効果 npm パッケージのインストール
重要
このチュートリアルでは、Azure Communication Services Calling SDK バージョン 1.28.4
以降と、Azure Communication Services Calling Effects SDK バージョン 1.1.2
以降を使用します。 一般提供 (GA) 安定バージョン 1.28.4
以降の Calling SDK では、ノイズ抑制機能がサポートされています。 または、パブリック プレビュー バージョンを使用する場合は、Calling SDK バージョン 1.24.2-beta.1
以降でもノイズ抑制がサポートされます。
オーディオ ノイズ抑制効果を追加するための現在のブラウザー サポートは、Chrome および Edge デスクトップ ブラウザーでのみ使用できます。
通話のエフェクト ライブラリをスタンドアロンで使用することはできません。 WebJS 用の Azure Communication Services Calling クライアント ライブラリと共に使用する場合にのみ機能します。
JavaScript 用の Azure Communication Services Audio Effects SDK をインストールするには、npm install
コマンドを使用します。
Calling SDK の GA バージョンを使用する場合は、Calling Effects SDK の GA バージョンを使用する必要があります。
@azure/communication-calling-effects/v/latest
Calling SDK のパブリック プレビューを使用する場合は、Calling Effects SDK のベータ バージョンを使用する必要があります。
@azure/communication-calling-effects/v/next
ノイズ抑制効果ライブラリを読み込む
オーディオ効果のプロパティとメソッドを詳述したインターフェイスの詳細については、オーディオ効果機能インターフェイスの API ドキュメント ページを参照してください。
Azure Communication Services Calling SDK 内でノイズ抑制オーディオ効果を使用するには、現在通話中の LocalAudioStream
プロパティが必要です。 オーディオ効果を開始および停止するには、LocalAudioStream
プロパティの AudioEffects
API にアクセスする必要があります。
import * as AzureCommunicationCallingSDK from '@azure/communication-calling';
import { DeepNoiseSuppressionEffect } from '@azure/communication-calling-effects';
// Get LocalAudioStream from the localAudioStream collection on the call object.
// 'call' here represents the call object.
const localAudioStreamInCall = call.localAudioStreams[0];
// Get the audio effects feature API from LocalAudioStream
const audioEffectsFeatureApi = localAudioStreamInCall.feature(AzureCommunicationCallingSDK.Features.AudioEffects);
// Subscribe to useful events that show audio effects status
audioEffectsFeatureApi.on('effectsStarted', (activeEffects: ActiveAudioEffects) => {
console.log(`Current status audio effects: ${activeEffects}`);
});
audioEffectsFeatureApi.on('effectsStopped', (activeEffects: ActiveAudioEffects) => {
console.log(`Current status audio effects: ${activeEffects}`);
});
audioEffectsFeatureApi.on('effectsError', (error: AudioEffectErrorPayload) => {
console.log(`Error with audio effects: ${error.message}`);
});
アクティブなオーディオ効果を確認する
現在アクティブなノイズ抑制効果をチェックするには、activeEffects
プロパティを使用できます。
activeEffects
プロパティは、現在アクティブな効果の名前を持つオブジェクトを返します。
// Use the audio effects feature API.
const currentActiveEffects = audioEffectsFeatureApi.activeEffects;
// Create the noise suppression instance.
const deepNoiseSuppression = new DeepNoiseSuppressionEffect();
// We recommend that you check support for the effect in the current environment by using the isSupported API
// method. Remember that noise supression is only supported on desktop browsers for Chrome and Edge.
const isDeepNoiseSuppressionSupported = await audioEffectsFeatureApi.isSupported(deepNoiseSuppression);
if (isDeepNoiseSuppressionSupported) {
console.log('Noise supression is supported in local browser environment');
}
// To start Communication Services Deep Noise Suppression
await audioEffectsFeatureApi.startEffects({
noiseSuppression: deepNoiseSuppression
});
// To stop Communication Services Deep Noise Suppression
await audioEffectsFeatureApi.stopEffects({
noiseSuppression: true
});
ノイズ抑制を自動的に有効にして通話を開始する
ノイズ抑制をオンにして通話を開始できます。 新しい LocalAudioStream
プロパティを AudioDeviceInfo
で作成し (オーディオ効果を使用するには LocalAudioStream
ソースは、生の MediaStream
プロパティにしないでください)、それを CallStartOptions.audioOptions
に渡します。
// As an example, here we're simply creating LocalAudioStream by using the current selected mic on DeviceManager.
const audioDevice = deviceManager.selectedMicrophone;
const localAudioStreamWithEffects = new AzureCommunicationCallingSDK.LocalAudioStream(audioDevice);
const audioEffectsFeatureApi = localAudioStreamWithEffects.feature(AzureCommunicationCallingSDK.Features.AudioEffects);
// Start effect
await audioEffectsFeatureApi.startEffects({
noiseSuppression: deepNoiseSuppression
});
// Pass LocalAudioStream in audioOptions in call start/accept options.
await call.startCall({
audioOptions: {
muted: false,
localAudioStreams: [localAudioStreamWithEffects]
}
});
通話中にノイズ抑制を有効にする
ノイズ抑制をオンになっていない状態で通話を開始する場合があります。 周囲が騒がしくなると、ノイズ抑制を有効にする必要が生じる可能性があります。 ノイズ抑制を有効にするには、audioEffectsFeatureApi.startEffects
API を使用します。
// Create the noise supression instance
const deepNoiseSuppression = new DeepNoiseSuppressionEffect();
// Get LocalAudioStream from the localAudioStream collection on the call object
// 'call' here represents the call object.
const localAudioStreamInCall = call.localAudioStreams[0];
// Get the audio effects feature API from LocalAudioStream
const audioEffectsFeatureApi = localAudioStreamInCall.feature(AzureCommunicationCallingSDK.Features.AudioEffects);
// We recommend that you check support for the effect in the current environment by using the isSupported method on the feature API. Remember that noise supression is only supported on desktop browsers for Chrome and Edge.
const isDeepNoiseSuppressionSupported = await audioEffectsFeatureApi.isSupported(deepNoiseSuppression);
if (isDeepNoiseSuppressionSupported) {
console.log('Noise supression is supported in the current browser environment');
}
// To start Communication Services Deep Noise Suppression
await audioEffectsFeatureApi.startEffects({
noiseSuppression: deepNoiseSuppression
});
// To stop Communication Services Deep Noise Suppression
await audioEffectsFeatureApi.stopEffects({
noiseSuppression: true
});
関連するコンテンツ
拡張 API 機能の詳細については、「オーディオ効果機能のインターフェイス」ドキュメント ページをご覧ください。
Native Calling SDK を使用してオーディオ フィルターを構成する方法について説明します
Azure Communication Services の音声効果には、音声通話を改善できるフィルターがあります。 ネイティブ プラットフォーム (Android、iOS、Windows) では、次のフィルターを構成できます。
エコーのキャンセル
発信者の音声がスピーカーから出力された後にマイクに反響すると発生する音響エコーを排除できます。 エコー キャンセルにより、明瞭な通信が保証されます。
通話前と通話中にフィルターを構成できます。 音楽モードが有効になっている場合のみ、エコー キャンセルを切り替えることができます。 このフィルターは、既定で有効になっています。
ノイズ抑制
タイピング、エアコン、屋外の音など、不要なバックグラウンド ノイズをフィルター処理して排除し、音質を向上させることができます。 このテクノロジにより、音声が鮮明で明瞭になり、より効率的なコミュニケーションが促進されます。
通話前と通話中にフィルターを構成できます。 現在使用可能なモードは、オフ、自動、低、高です。 この機能は、既定で高に設定されています。
自動ゲイン制御
通話全体の音声レベルに一貫性を確保するため、マイクの音量を自動調整することができます。
- アナログ自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
- デジタル自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
音楽モード
音楽モードは、通話前と通話中に利用できるフィルターです。 音楽モードの詳細については、Native Calling SDK の音楽モードに関するページを参照してください。 音楽モードは、ネイティブ プラットフォームの 1 対 1 またはグループ通話でのみ機能します。 ネイティブ プラットフォームと Web 間の 1 対 1 の通話では機能しません。 音楽モードは、既定で無効になっています。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Azure Communication Services リソース。 Azure Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します。
SDK のインストール
プロジェクト レベルの build.gradle
ファイルを見つけて、buildscript
と allprojects
の下のリポジトリの一覧に mavenCentral()
を追加します。
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
次に、モジュール レベルの build.gradle
ファイルで、次の行を dependencies
セクションに追加します。
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
必要なオブジェクトを初期化する
CallAgent
インスタンスを作成するには、CallClient
インスタンス上で createCallAgent
メソッドを呼び出す必要があります。 この呼び出しは、CallAgent
インスタンス オブジェクトを非同期に返します。
createCallAgent
メソッドは、アクセス トークンをカプセル化する CommunicationUserCredential
を引数として受け取ります。
DeviceManager
にアクセスするには、まず callAgent
インスタンスを作成する必要があります。 それから、CallClient.getDeviceManager
メソッドを使用して DeviceManager
を取得することができます。
String userToken = '<user token>';
CallClient callClient = new CallClient();
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential).get();
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
呼び出し元の表示名を設定するには、この代替メソッドを使用します。
String userToken = '<user token>';
CallClient callClient = new CallClient();
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
CallAgentOptions callAgentOptions = new CallAgentOptions();
callAgentOptions.setDisplayName("Alice Bob");
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential, callAgentOptions).get();
オーディオ フィルター機能を使用すると、さまざまなオーディオ前処理オプションを発信オーディオに適用できます。 オーディオ フィルターには、OutgoingAudioFilters
と LiveOutgoingAudioFilters
の 2 種類があります。 通話を開始する前に設定を変更するには OutgoingAudioFilters
を使用します。 通話中に設定を変更するには、LiveOutgoingAudioFilters
を使用します。
まず、次の SDK の呼び出しと関連クラスをインポートする必要があります。
import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;
通話が開始される前
通話の開始時に OutgoingAudioFilters
を適用できます。
まず、次のコードに示すように、OutgoingAudioFilters
プロパティを作成し、それを OutgoingAudioOptions
に渡します。
OutgoingAudioOptions outgoingAudioOptions = new OutgoingAudioOptions();
OutgoingAudioFilters filters = new OutgoingAudioFilters();
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
filters.setAnalogAutomaticGainControlEnabled(true);
filters.setDigitalAutomaticGainControlEnabled(true);
filters.setMusicModeEnabled(true);
filters.setAcousticEchoCancellationEnabled(true);
outgoingAudioOptions.setAudioFilters(filters);
通話中
通話開始後に LiveOutgoingAudioFilters
を適用できます。 このオブジェクトは、通話中に通話オブジェクトから取得できます。 LiveOutgoingAudioFilters
の設定を変更するには、クラス内のメンバーを有効な値に設定することで適用されます。
アクティブな通話中に使用できるのは、OutgoingAudioFilters
から利用できるフィルターのサブセットのみです。 つまり、音楽モード、エコー キャンセル、ノイズ抑制モードです。
LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
Native Calling SDK を使用してオーディオ フィルターを構成する方法について説明します
Azure Communication Services の音声効果には、音声通話を改善できるフィルターがあります。 ネイティブ プラットフォーム (Android、iOS、Windows) では、次のフィルターを構成できます。
エコーのキャンセル
発信者の音声がスピーカーから出力された後にマイクに反響すると発生する音響エコーを排除できます。 エコー キャンセルにより、明瞭な通信が保証されます。
通話前と通話中にフィルターを構成できます。 音楽モードが有効になっている場合のみ、エコー キャンセルを切り替えることができます。 このフィルターは、既定で有効になっています。
ノイズ抑制
タイピング、エアコン、屋外の音など、不要なバックグラウンド ノイズをフィルター処理して排除し、音質を向上させることができます。 このテクノロジにより、音声が鮮明で明瞭になり、より効率的なコミュニケーションが促進されます。
通話前と通話中にフィルターを構成できます。 現在使用可能なモードは、オフ、自動、低、高です。 この機能は、既定で高に設定されています。
自動ゲイン制御
通話全体の音声レベルに一貫性を確保するため、マイクの音量を自動調整することができます。
- アナログ自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
- デジタル自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
音楽モード
音楽モードは、通話前と通話中に利用できるフィルターです。 音楽モードの詳細については、Native Calling SDK の音楽モードに関するページを参照してください。 音楽モードは、ネイティブ プラットフォームの 1 対 1 またはグループ通話でのみ機能します。 ネイティブ プラットフォームと Web 間の 1 対 1 の通話では機能しません。 音楽モードは、既定で無効になっています。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Azure Communication Services リソース。 Azure Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します。
システムを設定する
次の手順のようにして、システムを設定します。
Xcode プロジェクトを作成する
Xcode で、新しい iOS プロジェクトを作成し、[単一ビュー アプリ] テンプレートを選択します。 この記事では SwiftUI フレームワークを使うので、[言語] を [Swift] に、[インターフェイス] を [SwiftUI] に設定する必要があります。
この記事では、テストは作成しません。 [Include Tests] チェック ボックスはオフにしてもかまいません。
CocoaPods を使用してパッケージと依存関係をインストールする
この例のように、アプリケーション用の Podfile を作成します。
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
pod install
を実行します。Xcode を使用して
.xcworkspace
を開きます。
マイクへのアクセスを要求する
デバイスのマイクにアクセスするには、NSMicrophoneUsageDescription
を使用してアプリの情報プロパティ一覧を更新する必要があります。 関連付けられる値には、システムがユーザーにアクセスを要求するために使うダイアログに含まれる文字列を設定します。
プロジェクト ツリーの [Info.plist] エントリを右クリックし、[Open As]>[Source Code] を選択します。 最上位の <dict>
セクションに以下の行を追加してから、ファイルを保存します。
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
アプリのフレームワークを設定する
プロジェクトの ContentView.swift
ファイルを開きます。 ファイルの先頭に import
宣言を追加して、AzureCommunicationCalling
ライブラリをインポートします。 さらに、AVFoundation
をインポートします。 これは、コードでのオーディオ アクセス許可の要求に必要です。
import AzureCommunicationCalling
import AVFoundation
CallAgent を初期化する
CallClient
から CallAgent
インスタンスを作成するには、初期化された後に CallAgent
オブジェクトを非同期に返す callClient.createCallAgent
メソッドを使用する必要があります。
通話クライアントを作成するには、CommunicationTokenCredential
オブジェクトを渡します。
import AzureCommunication
let tokenString = "token_string"
var userCredential: CommunicationTokenCredential?
do {
let options = CommunicationTokenRefreshOptions(initialToken: token, refreshProactively: true, tokenRefresher: self.fetchTokenSync)
userCredential = try CommunicationTokenCredential(withOptions: options)
} catch {
updates("Couldn't created Credential object", false)
initializationDispatchGroup!.leave()
return
}
// tokenProvider needs to be implemented by Contoso, which fetches a new token
public func fetchTokenSync(then onCompletion: TokenRefreshOnCompletion) {
let newToken = self.tokenProvider!.fetchNewToken()
onCompletion(newToken, nil)
}
作成した CommunicationTokenCredential
オブジェクトを CallClient
に渡し、表示名を設定します。
self.callClient = CallClient()
let callAgentOptions = CallAgentOptions()
options.displayName = " iOS Azure Communication Services User"
self.callClient!.createCallAgent(userCredential: userCredential!,
options: callAgentOptions) { (callAgent, error) in
if error == nil {
print("Create agent succeeded")
self.callAgent = callAgent
} else {
print("Create agent failed")
}
})
オーディオ フィルター機能を使用すると、さまざまなオーディオ前処理オプションを発信オーディオに適用できます。 オーディオ フィルターには、OutgoingAudioFilters
と LiveOutgoingAudioFilters
の 2 種類があります。 通話を開始する前に設定を変更するには OutgoingAudioFilters
を使用します。 通話中に設定を変更するには、LiveOutgoingAudioFilters
を使用します。
まず、次の SDK の呼び出しをインポートする必要があります。
import AzureCommunicationCalling
通話が開始される前
通話の開始時に OutgoingAudioFilters
を適用できます。
まず、次に示すように、OutgoingAudioFilters
プロパティを作成し、それを OutgoingAudioOptions
に渡します。
let outgoingAudioOptions = OutgoingAudioOptions()
let filters = OutgoingAudioFilters()
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
filters.analogAutomaticGainControlEnabled = true
filters.digitalAutomaticGainControlEnabled = true
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
outgoingAudioOptions.audioFilters = filters
通話中
通話開始後に LiveOutgoingAudioFilters
を適用できます。 このオブジェクトは、通話中に通話オブジェクトから取得できます。 LiveOutgoingAudioFilters
の設定を変更するには、クラス内のメンバーを有効な値に設定することで適用されます。
アクティブな通話中に使用できるのは、OutgoingAudioFilters
から利用できるフィルターのサブセットのみです。 つまり、音楽モード、エコー キャンセル、ノイズ抑制モードです。
LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
Native Calling SDK を使用してオーディオ フィルターを構成する方法について説明します
Azure Communication Services の音声効果には、音声通話を改善できるフィルターがあります。 ネイティブ プラットフォーム (Android、iOS、Windows) では、次のフィルターを構成できます。
エコーのキャンセル
発信者の音声がスピーカーから出力された後にマイクに反響すると発生する音響エコーを排除できます。 エコー キャンセルにより、明瞭な通信が保証されます。
通話前と通話中にフィルターを構成できます。 音楽モードが有効になっている場合のみ、エコー キャンセルを切り替えることができます。 このフィルターは、既定で有効になっています。
ノイズ抑制
タイピング、エアコン、屋外の音など、不要なバックグラウンド ノイズをフィルター処理して排除し、音質を向上させることができます。 このテクノロジにより、音声が鮮明で明瞭になり、より効率的なコミュニケーションが促進されます。
通話前と通話中にフィルターを構成できます。 現在使用可能なモードは、オフ、自動、低、高です。 この機能は、既定で高に設定されています。
自動ゲイン制御
通話全体の音声レベルに一貫性を確保するため、マイクの音量を自動調整することができます。
- アナログ自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
- デジタル自動ゲイン制御は、通話前にのみ使用可能なフィルターです。 このフィルターは、既定で有効になっています。
音楽モード
音楽モードは、通話前と通話中に利用できるフィルターです。 音楽モードの詳細については、Native Calling SDK の音楽モードに関するページを参照してください。 音楽モードは、ネイティブ プラットフォームの 1 対 1 またはグループ通話でのみ機能します。 ネイティブ プラットフォームと Web 間の 1 対 1 の通話では機能しません。 音楽モードは、既定で無効になっています。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Azure Communication Services リソース。 Azure Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します。
システムを設定する
次の手順のようにして、システムを設定します。
Visual Studio プロジェクトの作成
ユニバーサル Windows プラットフォーム アプリの場合は、Visual Studio 2022 で、新しい空のアプリ (ユニバーサル Windows) プロジェクトを作成します。 プロジェクト名を入力した後、10.0.17763.0 より後の Windows SDK を自由に選択できます。
WinUI 3 アプリの場合、Blank App, Packaged (WinUI 3 in Desktop) テンプレートで新しいプロジェクトを作成し、シングルページの WinUI 3 アプリを設定します。 Windows App SDK バージョン 1.3 以降が必要です。
NuGet パッケージ マネージャーを使用してパッケージと依存関係をインストールする
Calling SDK の API とライブラリは、NuGet パッケージにより一般公開されています。
Calling SDK NuGet パッケージを検索、ダウンロード、インストールするには:
- [ツール]>[NuGet パッケージ マネージャー]>[ソリューションの NuGet パッケージの管理] を選んで、NuGet パッケージ マネージャーを開きます。
- [参照] を選んでから、検索ボックスに「Azure.Communication.Calling.WindowsClient」と入力します。
- [プレリリースを含める] チェックボックスがオンになっていることを確認します。
- Azure.Communication.Calling.WindowsClient パッケージを選び、Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 以降のバージョンを選びます。
- 右側のペインで、Azure Communication Services プロジェクトに対応するチェックボックスをオンにします。
- [インストール] を選択します。
オーディオ フィルター機能を使用すると、さまざまなオーディオ前処理を発信オーディオに適用できます。 オーディオ フィルターには、OutgoingAudioFilters
と LiveOutgoingAudioFilters
の 2 種類があります。 通話を開始する前に設定を変更するには OutgoingAudioFilters
を使用します。 通話中に設定を変更するには、LiveOutgoingAudioFilters
を使用します。
まず、次の SDK の呼び出しをインポートする必要があります。
using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;
通話が開始される前
通話の開始時に OutgoingAudioFilters
を適用できます。
まず、次のコードに示すように、OutgoingAudioFilters
プロパティを作成し、それを OutgoingAudioOptions
に渡します。
var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
AnalogAutomaticGainControlEnabled = true,
DigitalAutomaticGainControlEnabled = true,
MusicModeEnabled = true,
AcousticEchoCancellationEnabled = true,
NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;
通話中
通話開始後に LiveOutgoingAudioFilters
を適用できます。 このオブジェクトは、通話が開始された後に通話オブジェクトから取得できます。 LiveOutgoingAudioFilters
の設定を変更するには、クラス内のメンバーを有効な値に設定することで適用されます。
アクティブな通話中に使用できるのは、OutgoingAudioFilters
から利用できるフィルターのサブセットのみです。 つまり、音楽モード、エコー キャンセル、ノイズ抑制モードです。
LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;