Freigeben ü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. Die Beseitigung von Hintergrundgeräuschen erleichtert das Sprechen und 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 lauten Café tätigen, kann das Aktivieren der Unterdrückung von Störgeräuschen Ihre Erfahrung verbessern.

Verwenden von Audioeffekten: Installieren des npm-Pakets für Anrufeffekte

Wichtig

In diesem Tutorial wird die Azure Communication Services Calling SDK-Version 1.28.4 oder höher zusammen mit der Azure Communication Services Calling Effects SDK-Version 1.1.2 oder später verwendet. Die stabile GA-Version (General Availability) 1.28.4 und spätere Versionen des Calling SDK unterstützen Funktionen zur Rauschunterdrückung. Wenn Sie die öffentliche Vorschauversion verwenden möchten, unterstützen Aufrufe von SDK-Versionen 1.24.2-beta.1 und später auch die Rauschunterdrückung.

Die Rauschunterdrückung ist derzeit nur in den Desktopbrowsern Chrome und Edge verfügbar.

Die Bibliothek mit den Anrufeffekten kann nicht eigenständig verwendet werden. Sie funktioniert nur, wenn sie mit der Azure Communication Services Calling-Clientbibliothek für WebJS verwendet wird.

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

Wenn Sie die GA-Version des Calling SDK verwenden, müssen Sie auch die GA-Version des Calling Effects SDK verwenden.

@azure/communication-calling-effects/v/latest

Wenn Sie die öffentliche Vorschauversion des Calling SDK verwenden, müssen Sie die Beta-Version des Calling Effects SDK verwenden.

@azure/communication-calling-effects/v/next

Laden der Bibliothek mit den Geräuschunterdrückungseffekten

Informationen zur Benutzeroberfläche, die die Eigenschaften und Methoden von Audioeffekten detailliert beschreibt, finden Sie auf der API-Dokumentationsseite für die Benutzeroberfläche der Audioeffektfunktion.

Um Audioeffekte zur Rauschunterdrückung innerhalb des Azure Communication Services Calling SDK zu verwenden, benötigen Sie die Eigenschaft LocalAudioStream aus dem aktuellen Anruf. Sie benötigen Zugriff auf die AudioEffects-API der Eigenschaft LocalAudioStream, um Audioeffekte zu starten und zu beenden.

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

Überprüfen, welche Audioeffekte aktiv sind

Um zu überprüfen, welche Rauschunterdrückungseffekte derzeit aktiv sind, können Sie die Eigenschaft activeEffects verwenden.

Die activeEffects-Eigenschaft gibt ein Objekt mit den Namen der aktuellen aktiven Effekte zurück.

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

Starten Sie einen Anruf mit automatisch aktivierter Rauschunterdrückung.

Sie können einen Anruf mit aktivierter Rauschunterdrückung tätigen. Erstellen Sie eine neue Eigenschaft LocalAudioStream mit AudioDeviceInfo (die Quelle LocalAudioStream sollte keine unbearbeitete Eigenschaft MediaStream sein, um Audioeffekte zu verwenden), und übergeben Sie sie in 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]
    }
});

Aktivieren der Rauschunterdrückung während eines laufenden Anrufs

Es kann sein, dass Sie einen Anruf tätigen und die Rauschunterdrückung nicht eingeschaltet ist. Die Umgebung kann laut werden, sodass Sie die Rauschunterdrückung einschalten müssen. Um die Rauschunterdrückung zu aktivieren, können Sie die audioEffectsFeatureApi.startEffects-API verwenden.

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

Ausführliche Informationen zu API-Funktionen finden Sie auf der Dokumentationsseite zur Benutzeroberfläche der Audioeffektfunktion.

Erfahren Sie, wie Sie Audiofilter mit den Native Calling 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

Sie können akustische Echos der Anruferstimme im Mikrofon beseitigen, um eine klare Kommunikation sicherzustellen. Die Echounterdrückung sorgt für eine klare Kommunikation.

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

Rauschunterdrückung

Sie können die Audioqualität verbessern, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herausfiltern. 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 Aus, Automatisch Niedrig und Hoch. Standardmäßig ist dieses Feature auf Hoch festgelegt.

Automatische Verstärkungssteuerung

Sie können die Lautstärke des Mikrofons automatisch anpassen, 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.

Musikmodus

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Weitere Informationen zum Musikmodus finden Sie unter Musikmodus im Native Calling-SDK. Der Musikmodus funktioniert nur auf nativen Plattformen über Einzel- oder Gruppenanrufe. Er funktioniert nicht bei Einzelgesprächen zwischen nativen Plattformen und dem Internet. 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() der Liste der Repositorys unter buildscript und allprojects hinzu:

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

Fügen Sie anschließend in der Datei build.gradle auf Modulebene die folgenden Zeilen im 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();

Sie können das Audiofilterfeature verwenden, um verschiedene Optionen zur Audio-Vorverarbeitung auf ausgehende Audiodaten anzuwenden. Die beiden Typen von Audiofiltern sind OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Start des Anrufs zu ändern. Verwenden Sie LiveOutgoingAudioFilters, um Einstellungen zu ändern, während ein Anruf ausgeführt wird.

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

Sie können OutgoingAudioFilters anwenden, wenn ein Anruf gestartet wird.

Erstellen Sie zunächst eine Eigenschaft OutgoingAudioFilters und übergeben Sie sie an OutgoingAudioOptions, wie im folgenden Code dargestellt:

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.

Nur eine Teilmenge der von OutgoingAudioFilters verfügbaren Filter ist während eines aktiven Anrufs verfügbar. Es gibt einen Musikmodus, einen Echounterdrückungsmodus und einen Rauschunterdrückungsmodus.

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

Erfahren Sie, wie Sie Audiofilter mit den Native Calling 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

Sie können akustische Echos der Anruferstimme im Mikrofon beseitigen, um eine klare Kommunikation sicherzustellen. Die Echounterdrückung sorgt für eine klare Kommunikation.

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

Rauschunterdrückung

Sie können die Audioqualität verbessern, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herausfiltern. 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 Aus, Automatisch Niedrig und Hoch. Standardmäßig ist dieses Feature auf Hoch festgelegt.

Automatische Verstärkungssteuerung

Sie können die Lautstärke des Mikrofons automatisch anpassen, 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.

Musikmodus

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Weitere Informationen zum Musikmodus finden Sie unter Musikmodus im Native Calling-SDK. Der Musikmodus funktioniert nur auf nativen Plattformen über Einzel- oder Gruppenanrufe. Er funktioniert nicht bei Einzelgesprächen zwischen nativen Plattformen und dem Internet. Der Musikmodus ist standardmäßig deaktiviert.

Voraussetzungen

Einrichten des Systems

Führen Sie die unten angegebenen Schritte aus, um Ihr System einzurichten.

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 Artikel wird das SwiftUI-Framework verwendet. Legen Sie daher Sprache auf Swift und Schnittstelle auf SwiftUI fest.

Sie werden in diesem Artikel keine Tests erstellen. 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 den Dialog aufgenommen, mit dem das System den Zugriff beim 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. Sie 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")
        }
})

Sie können das Audiofilterfeature verwenden, um verschiedene Optionen zur Audio-Vorverarbeitung auf ausgehende Audiodaten anzuwenden. Die beiden Typen von Audiofiltern sind OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Start des Anrufs zu ändern. Verwenden Sie LiveOutgoingAudioFilters, um Einstellungen zu ändern, während ein Anruf ausgeführt wird.

Sie müssen zuerst das Calling SDK importieren:

import AzureCommunicationCalling

Vor dem Start des Anrufs

Sie können OutgoingAudioFilters anwenden, wenn ein Anruf gestartet wird.

Erstellen Sie zunächst eine Eigenschaft OutgoingAudioFilters und übergeben Sie sie an OutgoingAudioOptions, wie hier dargestellt:

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.

Nur eine Teilmenge der von OutgoingAudioFilters verfügbaren Filter ist während eines aktiven Anrufs verfügbar. Es gibt einen Musikmodus, einen Echounterdrückungsmodus und einen Rauschunterdrückungsmodus.

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

Erfahren Sie, wie Sie Audiofilter mit den Native Calling 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

Sie können akustische Echos der Anruferstimme im Mikrofon beseitigen, um eine klare Kommunikation sicherzustellen. Die Echounterdrückung sorgt für eine klare Kommunikation.

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

Rauschunterdrückung

Sie können die Audioqualität verbessern, indem Sie unerwünschte Hintergrundgeräusche wie Tastatureingaben, Geräusche von der Klimaanlage oder Straßenlärm herausfiltern. 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 Aus, Automatisch Niedrig und Hoch. Standardmäßig ist dieses Feature auf Hoch festgelegt.

Automatische Verstärkungssteuerung

Sie können die Lautstärke des Mikrofons automatisch anpassen, 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.

Musikmodus

Der Musikmodus ist ein Filter, der vor und während eines Anrufs verfügbar ist. Weitere Informationen zum Musikmodus finden Sie unter Musikmodus im Native Calling-SDK. Der Musikmodus funktioniert nur auf nativen Plattformen über Einzel- oder Gruppenanrufe. Er funktioniert nicht bei Einzelgesprächen zwischen nativen Plattformen und dem Internet. Der Musikmodus ist standardmäßig deaktiviert.

Voraussetzungen

Einrichten des Systems

Führen Sie die unten angegebenen Schritte aus, um Ihr System einzurichten.

Erstellen des Visual Studio-Projekts

Erstellen Sie für eine UWP-App (Universelle Windows-Plattform) 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.

So können 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 Paket Azure.Communication.Calling.WindowsClient und dann Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 oder eine neuere Version aus.
  5. Aktivieren Sie das Kontrollkästchen für das Azure Communication Services-Projekt im rechten Bereich.
  6. Wählen Sie Installieren aus.

Sie können das Audiofilterfeature verwenden, um verschiedene Optionen zur Audio-Vorverarbeitung auf ausgehende Audiodaten anzuwenden. Die beiden Typen von Audiofiltern sind OutgoingAudioFilters und LiveOutgoingAudioFilters. Verwenden Sie OutgoingAudioFilters, um Einstellungen vor dem Start des Anrufs zu ändern. Verwenden Sie LiveOutgoingAudioFilters, um Einstellungen zu ändern, während ein Anruf ausgeführt wird.

Sie müssen zuerst das Calling SDK importieren:

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

Vor dem Start des Anrufs

Sie können OutgoingAudioFilters anwenden, wenn ein Anruf gestartet wird.

Erstellen Sie zunächst eine Eigenschaft OutgoingAudioFilters und übergeben Sie sie an OutgoingAudioOptions, wie im folgenden Code dargestellt:

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 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.

Nur eine Teilmenge der von OutgoingAudioFilters verfügbaren Filter ist während eines aktiven Anrufs verfügbar. Es gibt einen Musikmodus, einen Echounterdrückungsmodus und einen Rauschunterdrückungsmodus.

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