Teilen über


Ermöglichen von Verbesserungen der Audioqualität bei Audioanrufen

Die Audioeffekte von Azure Communication Services zur Unterdrückung von Störgeräuschen können Ihre Audioanrufe verbessern, indem unerwünschte Hintergrundgeräusche herausgefiltert werden. Die Unterdrückung von Störgeräuschen ist eine Technologie, die Hintergrundgeräusche aus Audioanrufen entfernt. Sie macht Audioanrufe klarer und besser, indem Hintergrundgeräusche entfernt werden, was es erleichtert zu sprechen und zu hören. Die Unterdrückung von Störgeräuschen kann auch Ablenkungen und Müdigkeit reduzieren, die durch laute Orte verursacht werden. Wenn Sie beispielsweise einen Azure Communication Services WebJS-Anruf in einem Café mit vielen Geräuschen tätigen, kann das Aktivieren der Unterdrückung von Störgeräuschen Ihre Erfahrung verbessern.

Wichtig

Die in diesem Artikel beschriebenen Funktionen befinden sich derzeit in der öffentlichen Vorschauphase. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Verwenden von Audioeffekten – Unterdrückung von Störgeräuschen

Installieren des npm-Pakets

Verwenden Sie den Befehl npm install, um das Azure Communication Services Audio Effects SDK für JavaScript zu installieren.

Wichtig

In diesem Tutorial wird Version 1.24.2-beta.1 (oder höher) des Azure Communication Services Calling SDK und Version größer oder gleich 1.1.1-beta.1 des Azure Communication Services Calling Audio Effects SDK verwendet.

@azure/communication-calling-effects@1.1.1-beta

Hinweis

Die Effektbibliothek für Anrufe kann nicht eigenständig verwendet werden und funktioniert nur, wenn sie mit der Telefonie-Clientbibliothek für WebJS von Azure Communication Services (https://www.npmjs.com/package/@azure/communication-calling) verwendet wird.

Ausführlichere Informationen finden Sie auf der npm-Paketseite für Anrufeffekte.

Hinweis

Die Unterdrückung von Störgeräuschen ist derzeit nur in den Browsern Chrome und Edge verfügbar.

Sie können mehr über die Besonderheiten der aufrufenden API- erfahren.

Um noise suppression-Audioeffekte im Azure Communication Calling SDK zu verwenden, benötigen Sie die LocalAudioStream, die sich derzeit im Anruf befindet. Sie benötigen Zugriff auf die AudioEffects-API der LocalAudioStream, um Audioeffekte zu starten und zu beenden.

import * as AzureCommunicationCallingSDK from '@azure/communication-calling'; 
import { DeepNoiseSuppressionEffect } from '@azure/communication-calling-effects'; 

// Get the 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(SDK.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}`);
});

Wenn Sie überprüfen möchten, welche Effekte zur Unterdrückung von Störgeräuschen aktiv sind, können Sie jederzeit die activeEffects-Eigenschaft verwenden. Die activeEffects-Eigenschaft gibt ein Objekt mit den Namen der aktuellen aktiven Effekte zurück.

// Using the audio effects feature api
const currentActiveEffects = audioEffectsFeatureApi.activeEffects;

Starten eines Anrufs mit aktivierter Unterdrückung von Störgeräuschen

Um einen Anruf mit aktivierter Unterdrückung von Störgeräuschen zu starten, können Sie eine neue LocalAudioStream mit einem AudioDeviceInfo erstellen (die LocalAudioStream-Quelle sollte keine rohe MediaStream für die Verwendung von Audioeffekten sein) und an den CallStartOptions.audioOptions übergeben:

// As an example, here we are simply creating a LocalAudioStream using the current selected mic on the DeviceManager
const audioDevice = deviceManager.selectedMicrophone;
const localAudioStreamWithEffects = new SDK.LocalAudioStream(audioDevice);
const audioEffectsFeatureApi = localAudioStreamWithEffects.feature(SDK.Features.AudioEffects);

// Start effect
await audioEffectsFeatureApi.startEffects({
    noiseSuppression: deepNoiseSuppression
});

// Pass the LocalAudioStream in audioOptions in call start/accept options.
await call.startCall({
    audioOptions: {
        muted: false,
        localAudioStreams: [localAudioStreamWithEffects]
    }
});

Aktivieren der Unterdrückung von Störgeräuschen während eines laufenden Anrufs

Es kann sein, dass ein Benutzer einen Anruf startet und keine Unterdrückung von Störgeräuschen aktiviert ist. Es kann jedoch in der Umgebung laut werden, weshalb der Benutzer die Unterdrückung von Störgeräuschen aktivieren muss. Um die Unterdrückung von Störgeräuschen zu aktivieren, können Sie die audioEffectsFeatureApi.startEffects-API verwenden.

// Create the noise supression instance 
const deepNoiseSuppression = new DeepNoiseSuppressionEffect();

// Its recommened to check support for the effect in the current environment 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 browser environment');
}

// To start ACS Deep Noise Suppression,
await audioEffectsFeatureApi.startEffects({
    noiseSuppression: deepNoiseSuppression
});

// To stop ACS Deep Noise Suppression
await audioEffectsFeatureApi.stopEffects({
    noiseSuppression: true
});

Erfahren Sie, wie Sie die Audiofilter mit den nativen Anruf-SDKs konfigurieren.

Die Audioeffekte von Azure Communication Services bieten Filter, mit denen Sie Ihre Audioanrufe verbessern können. Für native Plattformen (Android, iOS und Windows) können Sie die folgenden Filter konfigurieren:

Echounterdrückung

Er beseitigt akustische Echos der Anruferstimme im Mikrofon, um eine klare Kommunikation sicherzustellen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Sie können die Echounterdrückung nur umschalten, wenn der Musikmodus aktiviert ist. Dieser Filter ist standardmäßig aktiviert.

Rauschunterdrückung

Verbessern Sie die Audioqualität, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herauszufiltern. Diese Technologie stellt sicher, dass die Stimme klar und deutlich ist, um eine effektivere Kommunikation zu ermöglichen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Die derzeit verfügbaren Modi sind Off, Auto, Low und High. Standardmäßig ist dieses Feature auf den High-Modus festgelegt.

Automatische Verstärkungssteuerung (AGC)

Passt die Lautstärke des Mikrofons automatisch an, um konsistente Audiopegel während des gesamten Anrufs sicherzustellen.

  • Die analoge automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf zur Verfügung steht. Dieser Filter ist standardmäßig aktiviert.
  • Die digitale automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf verfügbar ist. Dieser Filter ist standardmäßig aktiviert.

Music Mode

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Erfahren Sie hier mehr über den Musikmodus. Der Musikmodus funktioniert nur auf nativen Plattformen bei 1:1- oder Gruppenanrufe und nicht bei 1:1-Aufrufen zwischen nativen Plattformen und dem Web. Der Musikmodus ist standardmäßig deaktiviert.

Voraussetzungen

Das SDK installieren

Wählen Sie Ihre Datei build.gradle auf Projektebene aus, und fügen Sie mavenCentral() zur Liste der Repositorys unter buildscript und allprojects hinzu:

buildscript {
    repositories {
    ...
        mavenCentral()
    ...
    }
}
allprojects {
    repositories {
    ...
        mavenCentral()
    ...
    }
}

Fügen Sie dann in der Datei build.gradle auf Modulebene die folgenden Zeilen zum Abschnitt dependencies hinzu:

dependencies {
    ...
    implementation 'com.azure.android:azure-communication-calling:1.0.0'
    ...
}

Initialisieren der erforderlichen Objekte

Zum Erstellen einer CallAgent-Instanz müssen Sie die createCallAgent-Methode für eine CallClient-Instanz aufrufen. Dieser Aufruf gibt asynchron ein CallAgent-Instanzobjekt zurück.

Die createCallAgent-Methode verwendet CommunicationUserCredential als Argument, womit ein Zugriffstoken gekapselt wird.

Um auf DeviceManager zuzugreifen, müssen Sie zuerst eine callAgent-Instanz erstellen. Anschließend können Sie die CallClient.getDeviceManager-Methode zum Abrufen von DeviceManager verwenden.

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();

Zum Festlegen eines Anzeigenamens für den Anrufer verwenden Sie diese alternative Methode:

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();

Mit dem Audiofilterfeature können Sie verschiedene Audiovorverarbeitungsoptionen auf ausgehende Audiodaten anwenden. Es gibt zwei Typen von Filtern für Medienobjekte: OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Beginn des Anrufs zu ändern, und LiveOutgoingAudioFilters, um Einstellungen während des Anrufs zu ändern.

Sie müssen zuerst das Calling SDK und die zugehörigen Klassen importieren:

import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;

Vor dem Start des Anrufs

OutgoingAudioFilters kann angewendet werden, wenn ein Anruf gestartet wird.

Beginnen Sie mit dem Erstellen und Übergeben von OutgoingAudioFilters an OutgoingAudioOptions, wie im folgenden Code gezeigt:

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);

Während des Anrufs

Sie können LiveOutgoingAudioFilters anwenden, nachdem ein Anruf begonnen hat. Sie können dieses Objekt während des Anrufs aus dem Aufrufobjekt abrufen. Wenn Sie die Einstellung in LiveOutgoingAudioFilters ändern möchten, legen Sie die Member innerhalb der Klasse auf einen gültigen Wert fest, und sie werden angewendet.

Während eines aktiven Anrufs stehen nur eine Teilmenge der verfügbaren Filter von OutgoingAudioFilters zur Verfügung: Musikmodus, Echounterdrückung und Rauschunterdrückungsmodus.

LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);

Erfahren Sie, wie Sie die Audiofilter mit den nativen Anruf-SDKs konfigurieren.

Die Audioeffekte von Azure Communication Services bieten Filter, mit denen Sie Ihre Audioanrufe verbessern können. Für native Plattformen (Android, iOS und Windows) können Sie die folgenden Filter konfigurieren:

Echounterdrückung

Er beseitigt akustische Echos der Anruferstimme im Mikrofon, um eine klare Kommunikation sicherzustellen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Sie können die Echounterdrückung nur umschalten, wenn der Musikmodus aktiviert ist. Dieser Filter ist standardmäßig aktiviert.

Rauschunterdrückung

Verbessern Sie die Audioqualität, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herauszufiltern. Diese Technologie stellt sicher, dass die Stimme klar und deutlich ist, um eine effektivere Kommunikation zu ermöglichen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Die derzeit verfügbaren Modi sind Off, Auto, Low und High. Standardmäßig ist dieses Feature auf den High-Modus festgelegt.

Automatische Verstärkungssteuerung (AGC)

Passt die Lautstärke des Mikrofons automatisch an, um konsistente Audiopegel während des gesamten Anrufs sicherzustellen.

  • Die analoge automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf zur Verfügung steht. Dieser Filter ist standardmäßig aktiviert.
  • Die digitale automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf verfügbar ist. Dieser Filter ist standardmäßig aktiviert.

Music Mode

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Erfahren Sie hier mehr über den Musikmodus. Der Musikmodus funktioniert nur auf nativen Plattformen bei 1:1- oder Gruppenanrufe und nicht bei 1:1-Aufrufen zwischen nativen Plattformen und dem Web. Der Musikmodus ist standardmäßig deaktiviert.

Voraussetzungen

Einrichten des Systems

Erstellen des Xcode-Projekts

Erstellen Sie in Xcode ein neues iOS-Projekt, und wählen Sie die Vorlage Single View App (Einzelansicht-App) aus. In diesem Schnellstart wird das SwiftUI-Framework verwendet. Legen Sie daher Sprache auf Swift und Schnittstelle auf SwiftUI fest.

Im Rahmen dieser Schnellstartanleitung werden keine Tests erstellt. Sie können das Kontrollkästchen Tests einschließen deaktivieren.

Screenshot: Fenster zum Erstellen eines Projekts in Xcode

Installieren des Pakets und der Abhängigkeiten mithilfe von CocoaPods

  1. Erstellen Sie eine Podfile-Datei für die Anwendung, wie in diesem Beispiel:

    platform :ios, '13.0'
    use_frameworks!
    target 'AzureCommunicationCallingSample' do
        pod 'AzureCommunicationCalling', '~> 1.0.0'
    end
    
  2. Führen Sie pod install aus.

  3. Öffnen Sie .xcworkspace mithilfe von Xcode.

Anfordern des Zugriffs auf das Mikrofon

Um auf das Mikrofon des Geräts zuzugreifen, müssen Sie die Liste der Informationseigenschaften Ihrer App mithilfe von NSMicrophoneUsageDescription aktualisieren. Legen Sie den zugehörigen Wert auf eine Zeichenfolge fest. Diese wird in das Dialogfeld eingeschlossen, mit dem das System Zugriff vom Benutzer anfordert.

Klicken Sie mit der rechten Maustaste auf den Eintrag info.plist in der Projektstruktur, und wählen Sie dann Öffnen als>Quellcode aus. Fügen Sie im Abschnitt <dict> der obersten Ebene die folgenden Zeilen hinzu, und speichern Sie dann die Datei.

<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>

Einrichten des App-Frameworks

Öffnen Sie die Datei ContentView.swift Ihres Projekts. Fügen Sie am Anfang der Datei eine import-Deklaration hinzu, um die AzureCommunicationCalling-Bibliothek zu importieren. Importieren Sie außerdem AVFoundation. Dies ist für Audioberechtigungsanforderungen im Code erforderlich.

import AzureCommunicationCalling
import AVFoundation

Initialisieren von „CallAgent“

Um eine CallAgent-Instanz auf der Grundlage von CallClient zu erstellen, müssen Sie eine Methode vom Typ callClient.createCallAgent verwenden, die asynchron ein Objekt vom Typ CallAgent zurückgibt, nachdem es initialisiert wurde.

Übergeben Sie für die Erstellung eines Anrufclients ein Objekt vom Typ 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)
}

Übergeben Sie das von Ihnen erstellte CommunicationTokenCredential-Objekt an CallClient, und legen Sie den Anzeigenamen fest:

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")
        }
})

Mit dem Audiofilterfeature können Sie verschiedene Audiovorverarbeitungsoptionen auf ausgehende Audiodaten anwenden. Es gibt zwei Typen von Filtern für Medienobjekte: OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Beginn des Anrufs zu ändern, und LiveOutgoingAudioFilters, um Einstellungen während des Anrufs zu ändern.

Sie müssen zuerst das Calling SDK importieren:

import AzureCommunicationCalling

Vor dem Start des Anrufs

OutgoingAudioFilters kann angewendet werden, wenn ein Anruf gestartet wird.

Beginnen Sie mit dem Erstellen und Übergeben von OutgoingAudioFilters an OutgoingAudioOptions, wie im folgenden Code gezeigt:

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

Während des Anrufs

Sie können LiveOutgoingAudioFilters anwenden, nachdem ein Anruf begonnen hat. Sie können dieses Objekt während des Anrufs aus dem Aufrufobjekt abrufen. Wenn Sie die Einstellung in LiveOutgoingAudioFilters ändern möchten, legen Sie die Member innerhalb der Klasse auf einen gültigen Wert fest, und sie werden angewendet.

Während eines aktiven Anrufs stehen nur eine Teilmenge der verfügbaren Filter von OutgoingAudioFilters zur Verfügung: Musikmodus, Echounterdrückung und Rauschunterdrückungsmodus.

LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high

Erfahren Sie, wie Sie die Audiofilter mit den nativen Anruf-SDKs konfigurieren.

Die Audioeffekte von Azure Communication Services bieten Filter, mit denen Sie Ihre Audioanrufe verbessern können. Für native Plattformen (Android, iOS und Windows) können Sie die folgenden Filter konfigurieren:

Echounterdrückung

Er beseitigt akustische Echos der Anruferstimme im Mikrofon, um eine klare Kommunikation sicherzustellen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Sie können die Echounterdrückung nur umschalten, wenn der Musikmodus aktiviert ist. Dieser Filter ist standardmäßig aktiviert.

Rauschunterdrückung

Verbessern Sie die Audioqualität, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herauszufiltern. Diese Technologie stellt sicher, dass die Stimme klar und deutlich ist, um eine effektivere Kommunikation zu ermöglichen.

Sie können den Filter vorab und während eines Anrufs konfigurieren. Die derzeit verfügbaren Modi sind Off, Auto, Low und High. Standardmäßig ist dieses Feature auf den High-Modus festgelegt.

Automatische Verstärkungssteuerung (AGC)

Passt die Lautstärke des Mikrofons automatisch an, um konsistente Audiopegel während des gesamten Anrufs sicherzustellen.

  • Die analoge automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf zur Verfügung steht. Dieser Filter ist standardmäßig aktiviert.
  • Die digitale automatische Verstärkungssteuerung ist ein Filter, der nur vor einem Anruf verfügbar ist. Dieser Filter ist standardmäßig aktiviert.

Music Mode

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Erfahren Sie hier mehr über den Musikmodus. Der Musikmodus funktioniert nur auf nativen Plattformen bei 1:1- oder Gruppenanrufe und nicht bei 1:1-Aufrufen zwischen nativen Plattformen und dem Web. Der Musikmodus ist standardmäßig deaktiviert.

Voraussetzungen

Einrichten des Systems

Erstellen des Visual Studio-Projekts

Erstellen Sie für eine UWP-App in Visual Studio 2022 ein neues Projekt vom Typ Leere App (universelles Windows). Nachdem Sie den Projektnamen eingegeben haben, können Sie ein beliebiges Windows SDK höher als Version 10.0.17763.0 auswählen.

Für eine WinUI 3-App erstellen Sie ein neues Projekt mit der Vorlage Leere App, Gepackt (WinUI 3 in Desktop), um eine WinUI 3-Single-Page-Webanwendung einzurichten. Windows-App SDK-Version 1.3 oder höher ist erforderlich.

Installieren Sie das Paket und die Abhängigkeiten mit dem NuGet-Paket-Manager

Die Calling SDK-APIs und -Bibliotheken sind über ein NuGet-Paket öffentlich verfügbar.

In den folgenden Schritten wird veranschaulicht, wie Sie das NuGet-Paket für das Calling SDK suchen, herunterladen und installieren:

  1. Öffnen Sie den NuGet-Paket-Manager, indem Sie Tools>NuGet-Paket-Manager>NuGet-Pakete für Lösung verwalten auswählen.
  2. Wählen Sie Durchsuchen aus, und geben Sie dann Azure.Communication.Calling.WindowsClient in das Suchfeld ein.
  3. Stellen Sie sicher, dass das Kontrollkästchen Vorabversion einbeziehen aktiviert ist.
  4. Wählen Sie das Azure.Communication.Calling.WindowsClient-Paket und dann Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 oder eine neuere Version aus.
  5. Aktivieren Sie das Kontrollkästchen, das dem Communication Services-Projekt auf der rechten Registerkarte entspricht.
  6. Wählen Sie die Schaltfläche Installieren aus.

Mit dem Audiofilterfeature können Sie verschiedene Audiovorverarbeitungsoptionen auf ausgehende Audiodaten anwenden. Es gibt zwei Typen von Filtern für Medienobjekte: OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Beginn des Anrufs zu ändern, und LiveOutgoingAudioFilters, um Einstellungen während des Anrufs zu ändern.

Sie müssen zuerst das Calling SDK importieren:

using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;

Vor dem Start des Anrufs

OutgoingAudioFilters kann angewendet werden, wenn ein Anruf gestartet wird.

Beginnen Sie mit dem Erstellen und Übergeben von OutgoingAudioFilters an OutgoingAudioOptions, wie im folgenden Code gezeigt:

var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
    AnalogAutomaticGainControlEnabled = true,
    DigitalAutomaticGainControlEnabled = true,
    MusicModeEnabled = true,
    AcousticEchoCancellationEnabled = true,
    NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;

Während des Anrufs

Sie können LiveOutgoingAudioFilters anwenden, nachdem ein Anruf begonnen hat. Sie können dieses Objekt aus dem Aufrufobjekt abrufen, nachdem der Anruf begonnen wurde. Wenn Sie die Einstellung in LiveOutgoingAudioFilters ändern möchten, legen Sie die Member innerhalb der Klasse auf einen gültigen Wert fest, und sie werden angewendet.

Während eines aktiven Anrufs stehen nur eine Teilmenge der verfügbaren Filter von OutgoingAudioFilters zur Verfügung: Musikmodus, Echounterdrückung und Rauschunterdrückungsmodus.

LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;