Verbeterde audiokwaliteit toevoegen aan uw audiogesprekken
De geluidsonderdrukkingsmogelijkheden van Azure Communication Services-audio-effecten kunnen uw audiogesprekken verbeteren door ongewenste achtergrondgeluiden te filteren. Ruisonderdrukking is een technologie die achtergrondgeluiden van audiogesprekken verwijdert. Het elimineren van achtergrondgeluid maakt het gemakkelijker om te praten en te luisteren. Ruisonderdrukking kan ook afleidingen en vermoeidheid verminderen die worden veroorzaakt door lawaaierige plaatsen. Als u bijvoorbeeld een Azure Communication Services-webJS-aanroep in een lawaaierige koffiebar neemt, kan het inschakelen van ruisonderdrukking de gesprekservaring verbeteren.
Audio-effecten gebruiken: het npm-pakket met beleffecten installeren
Belangrijk
In deze zelfstudie wordt de SDK-versie 1.28.4
van Azure Communication Services Calling SDK of hoger gebruikt, naast de SDK-versie 1.1.2
van Azure Communication Services Calling Effects of hoger. De algemene beschikbaarheid (GA) stabiele versie 1.28.4
en hoger van de Calling SDK bieden ondersteuning voor ruisonderdrukkingsfuncties. Als u ervoor kiest om de openbare preview-versie te gebruiken, bieden aanroepende SDK-versies 1.24.2-beta.1
en hoger ook ondersteuning voor ruisonderdrukking.
De huidige browserondersteuning voor het toevoegen van geluidsruisonderdrukkingseffecten is alleen beschikbaar in Chrome- en Edge-desktopbrowsers.
De bibliotheek met aanroepende effecten kan niet zelfstandig worden gebruikt. Dit werkt alleen wanneer deze wordt gebruikt met de Clientbibliotheek voor aanroepen van Azure Communication Services voor WebJS.
Gebruik de npm install
opdracht om de Azure Communication Services Audio Effects SDK voor JavaScript te installeren.
Als u de GA-versie van de Calling SDK gebruikt, moet u de GA-versie van de Calling Effects SDK gebruiken.
@azure/communication-calling-effects/v/latest
Als u de openbare preview van de Calling SDK gebruikt, moet u de bètaversie van de Calling Effects SDK gebruiken.
@azure/communication-calling-effects/v/next
De bibliotheek met ruisonderdrukkingseffecten laden
Zie de documentatiepagina van de API-documentatie voor audio-effecten voor informatie over de interface met audio-effecten met eigenschappen en methoden.
Als u audio-effecten voor ruisonderdrukking wilt gebruiken in de Azure Communication Services Calling SDK, hebt u de LocalAudioStream
eigenschap nodig die zich momenteel in het gesprek bevindt. U hebt toegang nodig tot de AudioEffects
API van de LocalAudioStream
eigenschap om audio-effecten te starten en te stoppen.
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}`);
});
Controleren welke audio-effecten actief zijn
Als u wilt controleren welke geluidsonderdrukkingseffecten momenteel actief zijn, kunt u de activeEffects
eigenschap gebruiken.
De activeEffects
eigenschap retourneert een object met de namen van de huidige actieve effecten.
// 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
});
Een oproep starten waarbij ruisonderdrukking automatisch is ingeschakeld
U kunt een oproep starten met ruisonderdrukking ingeschakeld. Maak een nieuwe LocalAudioStream
eigenschap met AudioDeviceInfo
(de LocalAudioStream
bron mag geen onbewerkte MediaStream
eigenschap zijn om audio-effecten te gebruiken) en geef deze CallStartOptions.audioOptions
door:
// 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]
}
});
Ruisonderdrukking inschakelen tijdens een doorlopend gesprek
U kunt een oproep starten en geen ruisonderdrukking inschakelen. De omgeving kan luidruchtig worden, zodat u ruisonderdrukking moet inschakelen. Als u ruisonderdrukking wilt inschakelen, kunt u de audioEffectsFeatureApi.startEffects
API gebruiken.
// 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
});
Gerelateerde inhoud
Zie de documentatiepagina voor audio-effecten voor uitgebreide API-functies.
Meer informatie over het configureren van audiofilters met de Native Calling SDK's
De audio-effecten van Azure Communication Services bieden filters waarmee uw audiogesprek kan worden verbeterd. Voor systeemeigen platforms (Android, iOS en Windows) kunt u de volgende filters configureren.
Echoannulering
U kunt akoestische echo elimineren die wordt veroorzaakt door de stem van de beller die weer in de microfoon echot nadat deze uit de luidspreker is verzonden. Echo-annulering zorgt voor duidelijke communicatie.
U kunt het filter configureren voor en tijdens een gesprek. U kunt echo-annulering alleen in- of uitschakelen als de muziekmodus is ingeschakeld. Dit filter is standaard ingeschakeld.
Ruisonderdrukking
U kunt de geluidskwaliteit verbeteren door ongewenste achtergrondgeluiden zoals typen, airconditioning of straatgeluiden te filteren. Deze technologie zorgt ervoor dat de stem helder en helder is om effectievere communicatie te vergemakkelijken.
U kunt het filter configureren voor en tijdens een gesprek. De momenteel beschikbare modi zijn Uitgeschakeld, Auto, Laag en Hoog. Deze functie is standaard ingesteld op Hoog.
Automatisch controle over verkrijgen
U kunt het volume van de microfoon automatisch aanpassen om consistente audioniveaus tijdens het gesprek te garanderen.
- Analoge automatische versterkingscontrole is een filter dat alleen beschikbaar is voor een oproep. Dit filter is standaard ingeschakeld.
- Digitaal automatisch beheer voor automatisch verkrijgen is een filter dat alleen beschikbaar is vóór een oproep. Dit filter is standaard ingeschakeld.
Muziekmodus
Muziekmodus is een filter dat beschikbaar is voor en tijdens een gesprek. Zie de muziekmodus op native Calling SDK voor meer informatie over de muziekmodus. De muziekmodus werkt alleen op systeemeigen platforms via een-op-een- of groepsgesprekken. Het werkt niet in een-op-een-aanroepen tussen systeemeigen platforms en het web. Standaard is de muziekmodus uitgeschakeld.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Azure Communication Services-resource. Maak een Azure Communication Services-resource.
- Een gebruikerstoegangstoken om de aanroepende client in te schakelen. Zie Toegangstokens maken en beheren voor meer informatie.
- Optioneel: Voltooi de quickstart om spraakgesprekken toe te voegen aan uw toepassing.
Installeer de SDK
Zoek het bestand op projectniveau build.gradle
en voeg deze toe aan mavenCentral()
de lijst met opslagplaatsen onder buildscript
en allprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Voeg vervolgens in het bestand op moduleniveau build.gradle
de volgende regels toe aan de dependencies
sectie:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
De vereiste objecten initialiseren
Als u een CallAgent
exemplaar wilt maken, moet u de createCallAgent
methode voor een CallClient
exemplaar aanroepen. Hiermee wordt asynchroon een CallAgent
exemplaarobject geretourneerd.
De createCallAgent
methode wordt CommunicationUserCredential
gebruikt als een argument, dat een toegangstoken inkapselt.
Als u toegang DeviceManager
wilt krijgen, moet u eerst een callAgent
exemplaar maken. Vervolgens kunt u de CallClient.getDeviceManager
methode gebruiken om op te halen 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();
Als u een weergavenaam voor de aanroeper wilt instellen, gebruikt u deze alternatieve 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();
U kunt de functie audiofilter gebruiken om verschillende opties voor audiovoorverwerking toe te passen op uitgaande audio. De twee typen audiofilters zijn OutgoingAudioFilters
en LiveOutgoingAudioFilters
. Hiermee OutgoingAudioFilters
kunt u instellingen wijzigen voordat de oproep wordt gestart. Gebruik LiveOutgoingAudioFilters
dit om de instellingen te wijzigen terwijl een oproep wordt uitgevoerd.
U moet eerst de Aanroepende SDK en de bijbehorende klassen importeren:
import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;
Voordat een gesprek begint
U kunt dit toepassen OutgoingAudioFilters
wanneer een oproep wordt gestart.
Begin met het maken van een OutgoingAudioFilters
eigenschap en deze door te geven aan OutgoingAudioOptions
, zoals wordt weergegeven in de volgende code:
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);
Tijdens het gesprek
U kunt dit toepassen LiveOutgoingAudioFilters
nadat een gesprek is gestart. U kunt dit object ophalen uit het aanroepobject tijdens de aanroep. Als u de instelling wilt LiveOutgoingAudioFilters
wijzigen, stelt u de leden in de klasse in op een geldige waarde en worden ze toegepast.
Alleen een subset van de filters waaruit beschikbaar OutgoingAudioFilters
is, zijn beschikbaar tijdens een actieve aanroep. Ze zijn muziekmodus, echo-annulering en ruisonderdrukkingsmodus.
LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
Meer informatie over het configureren van audiofilters met de Native Calling SDK's
De audio-effecten van Azure Communication Services bieden filters waarmee uw audiogesprek kan worden verbeterd. Voor systeemeigen platforms (Android, iOS en Windows) kunt u de volgende filters configureren.
Echoannulering
U kunt akoestische echo elimineren die wordt veroorzaakt door de stem van de beller die weer in de microfoon echot nadat deze uit de luidspreker is verzonden. Echo-annulering zorgt voor duidelijke communicatie.
U kunt het filter configureren voor en tijdens een gesprek. U kunt echo-annulering alleen in- of uitschakelen als de muziekmodus is ingeschakeld. Dit filter is standaard ingeschakeld.
Ruisonderdrukking
U kunt de geluidskwaliteit verbeteren door ongewenste achtergrondgeluiden zoals typen, airconditioning of straatgeluiden te filteren. Deze technologie zorgt ervoor dat de stem helder en helder is om effectievere communicatie te vergemakkelijken.
U kunt het filter configureren voor en tijdens een gesprek. De momenteel beschikbare modi zijn Uitgeschakeld, Auto, Laag en Hoog. Deze functie is standaard ingesteld op Hoog.
Automatisch controle over verkrijgen
U kunt het volume van de microfoon automatisch aanpassen om consistente audioniveaus tijdens het gesprek te garanderen.
- Analoge automatische versterkingscontrole is een filter dat alleen beschikbaar is voor een oproep. Dit filter is standaard ingeschakeld.
- Digitaal automatisch beheer voor automatisch verkrijgen is een filter dat alleen beschikbaar is vóór een oproep. Dit filter is standaard ingeschakeld.
Muziekmodus
Muziekmodus is een filter dat beschikbaar is voor en tijdens een gesprek. Zie de muziekmodus op native Calling SDK voor meer informatie over de muziekmodus. De muziekmodus werkt alleen op systeemeigen platforms via een-op-een- of groepsgesprekken. Het werkt niet in een-op-een-aanroepen tussen systeemeigen platforms en het web. Standaard is de muziekmodus uitgeschakeld.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Azure Communication Services-resource. Maak een Azure Communication Services-resource.
- Een gebruikerstoegangstoken om de aanroepende client in te schakelen. Zie Toegangstokens maken en beheren voor meer informatie.
- Optioneel: Voltooi de quickstart om spraakgesprekken toe te voegen aan uw toepassing.
Uw systeem instellen
Volg deze stappen om uw systeem in te stellen.
Het Xcode-project maken
Maak in Xcode een nieuw iOS-project en selecteer de sjabloon Single View-app (Toepassing met één weergave). In dit artikel wordt het SwiftUI-framework gebruikt, dus u moet taal instellen op Swift en interface instellen op SwiftUI.
U gaat geen tests maken in dit artikel. Schakel het selectievakje Inclusief tests uit.
Het pakket en afhankelijkheden installeren met CocoaPods
Maak een Podfile voor uw toepassing, zoals in dit voorbeeld:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Voer
pod install
uit.Open
.xcworkspace
met behulp van Xcode.
Toegang tot de microfoon aanvragen
Voor toegang tot de microfoon van het apparaat moet u de lijst met gegevenseigenschappen van uw app bijwerken met behulp van NSMicrophoneUsageDescription
. Stel de gekoppelde waarde in op een tekenreeks die is opgenomen in het dialoogvenster dat het systeem gebruikt om toegang van de gebruiker aan te vragen.
Klik met de rechtermuisknop op de vermelding Info.plist van de projectstructuur en selecteer Open As>Source Code. Voeg de volgende regels toe in de sectie op het hoogste niveau <dict>
en sla het bestand op.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Stel het app-framework in
Open het projectbestand ContentView.swift
. Voeg een import
declaratie toe aan het begin van het bestand om de AzureCommunicationCalling
bibliotheek te importeren. Daarnaast importeert u AVFoundation
. U hebt deze nodig voor audiomachtigingsaanvragen in de code.
import AzureCommunicationCalling
import AVFoundation
CallAgent initialiseren
Als u een CallAgent
exemplaar CallClient
wilt maken, moet u een callClient.createCallAgent
methode gebruiken die asynchroon een CallAgent
object retourneert nadat het is geïnitialiseerd.
Als u een aanroepclient wilt maken, geeft u een CommunicationTokenCredential
object door:
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)
}
Geef het CommunicationTokenCredential
object door waarnaar u hebt gemaakt CallClient
en stel de weergavenaam in:
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")
}
})
U kunt de functie audiofilter gebruiken om verschillende opties voor audiovoorverwerking toe te passen op uitgaande audio. De twee typen audiofilters zijn OutgoingAudioFilters
en LiveOutgoingAudioFilters
. Hiermee OutgoingAudioFilters
kunt u instellingen wijzigen voordat de oproep wordt gestart. Gebruik LiveOutgoingAudioFilters
dit om de instellingen te wijzigen terwijl een oproep wordt uitgevoerd.
U moet eerst de Aanroepende SDK importeren:
import AzureCommunicationCalling
Voordat het gesprek wordt gestart
U kunt dit toepassen OutgoingAudioFilters
wanneer een oproep wordt gestart.
Maak eerst een OutgoingAudioFilters
eigenschap en geef deze door aan OutgoingAudioOptions
, zoals hier wordt weergegeven:
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
Tijdens het gesprek
U kunt dit toepassen LiveOutgoingAudioFilters
nadat een gesprek is gestart. U kunt dit object ophalen uit het aanroepobject tijdens de aanroep. Als u de instelling wilt LiveOutgoingAudioFilters
wijzigen, stelt u de leden in de klasse in op een geldige waarde en worden ze toegepast.
Alleen een subset van de filters waaruit beschikbaar OutgoingAudioFilters
is, zijn beschikbaar tijdens een actieve aanroep. Ze zijn muziekmodus, echo-annulering en ruisonderdrukkingsmodus.
LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
Meer informatie over het configureren van audiofilters met de Native Calling SDK's
De audio-effecten van Azure Communication Services bieden filters waarmee uw audiogesprek kan worden verbeterd. Voor systeemeigen platforms (Android, iOS en Windows) kunt u de volgende filters configureren.
Echoannulering
U kunt akoestische echo elimineren die wordt veroorzaakt door de stem van de beller die weer in de microfoon echot nadat deze uit de luidspreker is verzonden. Echo-annulering zorgt voor duidelijke communicatie.
U kunt het filter configureren voor en tijdens een gesprek. U kunt echo-annulering alleen in- of uitschakelen als de muziekmodus is ingeschakeld. Dit filter is standaard ingeschakeld.
Ruisonderdrukking
U kunt de geluidskwaliteit verbeteren door ongewenste achtergrondgeluiden zoals typen, airconditioning of straatgeluiden te filteren. Deze technologie zorgt ervoor dat de stem helder en helder is om effectievere communicatie te vergemakkelijken.
U kunt het filter configureren voor en tijdens een gesprek. De momenteel beschikbare modi zijn Uitgeschakeld, Auto, Laag en Hoog. Deze functie is standaard ingesteld op Hoog.
Automatisch controle over verkrijgen
U kunt het volume van de microfoon automatisch aanpassen om consistente audioniveaus tijdens het gesprek te garanderen.
- Analoge automatische versterkingscontrole is een filter dat alleen beschikbaar is voor een oproep. Dit filter is standaard ingeschakeld.
- Digitaal automatisch beheer voor automatisch verkrijgen is een filter dat alleen beschikbaar is vóór een oproep. Dit filter is standaard ingeschakeld.
Muziekmodus
Muziekmodus is een filter dat beschikbaar is voor en tijdens een gesprek. Zie de muziekmodus op native Calling SDK voor meer informatie over de muziekmodus. De muziekmodus werkt alleen op systeemeigen platforms via een-op-een- of groepsgesprekken. Het werkt niet in een-op-een-aanroepen tussen systeemeigen platforms en het web. Standaard is de muziekmodus uitgeschakeld.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Azure Communication Services-resource. Maak een Azure Communication Services-resource.
- Een gebruikerstoegangstoken om de aanroepende client in te schakelen. Zie Toegangstokens maken en beheren voor meer informatie.
- Optioneel: Voltooi de quickstart om spraakgesprekken toe te voegen aan uw toepassing.
Uw systeem instellen
Volg deze stappen om uw systeem in te stellen.
Het Visual Studio-project maken
Voor een Universeel Windows-platform-app maakt u in Visual Studio 2022 een nieuw leeg app-project (Universal Windows). Nadat u de projectnaam hebt ingevoerd, kunt u een Windows SDK kiezen die hoger is dan 10.0.17763.0.
Maak voor een WinUI 3-app een nieuw project met de sjabloon Blank App, Packaged (WinUI 3 in Desktop) om een WinUI 3-app met één pagina in te stellen. Windows-app SDK versie 1.3 of hoger is vereist.
Installeer het pakket en afhankelijkheden met behulp van NuGet Pakketbeheer
De Aanroepende SDK-API's en -bibliotheken zijn openbaar beschikbaar via een NuGet-pakket.
Het NuGet-pakket voor aanroepende SDK zoeken, downloaden en installeren:
- Open NuGet Pakketbeheer door Tools>NuGet Pakketbeheer> Manage NuGet Packages for Solution te selecteren.
- Selecteer Bladeren en voer vervolgens Azure.Communication.Calling.WindowsClient in het zoekvak in.
- Zorg ervoor dat het selectievakje Voorlopige versie opnemen is ingeschakeld.
- Selecteer het pakket Azure.Communication.Calling.WindowsClient en selecteer vervolgens Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 of een nieuwere versie.
- Schakel het selectievakje in dat overeenkomt met het Azure Communication Services-project in het rechterdeelvenster.
- Selecteer Installeren.
U kunt de functie audiofilter gebruiken om verschillende audiovoorverwerking toe te passen op uitgaande audio. De twee typen audiofilters zijn OutgoingAudioFilters
en LiveOutgoingAudioFilters
. Hiermee OutgoingAudioFilters
kunt u instellingen wijzigen voordat de oproep wordt gestart. Gebruik LiveOutgoingAudioFilters
dit om de instellingen te wijzigen terwijl een oproep wordt uitgevoerd.
U moet eerst de Aanroepende SDK importeren:
using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;
Voordat een gesprek begint
U kunt dit toepassen OutgoingAudioFilters
wanneer een oproep wordt gestart.
Begin met het maken van een OutgoingAudioFilters
eigenschap en deze door te geven aan OutgoingAudioOptions
, zoals wordt weergegeven in de volgende code:
var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
AnalogAutomaticGainControlEnabled = true,
DigitalAutomaticGainControlEnabled = true,
MusicModeEnabled = true,
AcousticEchoCancellationEnabled = true,
NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;
Tijdens het gesprek
U kunt dit toepassen LiveOutgoingAudioFilters
nadat een gesprek is gestart. U kunt dit object ophalen uit het aanroepobject nadat de aanroep is gestart. Als u de instelling wilt LiveOutgoingAudioFilters
wijzigen, stelt u de leden in de klasse in op een geldige waarde en worden ze toegepast.
Alleen een subset van de filters waaruit beschikbaar OutgoingAudioFilters
is, zijn beschikbaar tijdens een actieve aanroep. Ze zijn muziekmodus, echo-annulering en ruisonderdrukkingsmodus.
LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;