Adición de mejoras de calidad de audio a la experiencia de llamadas de audio
Las capacidades de supresión de ruido de los efectos de audio de Azure Communication Services pueden mejorar las llamadas de audio filtrando ruidos de fondo no deseados. La supresión de ruido es una tecnología que elimina los ruidos de fondo de las llamadas de audio. Eliminar el ruido de fondo facilita la conversación y la escucha. La supresión de ruido también reduce las distracciones y el cansancio causados por lugares ruidosos. Por ejemplo, si está tomando una llamada a WebJS de Azure Communication Services en una cafetería ruidosa, activar la supresión de ruido puede mejorar la experiencia de llamada.
Usar efectos de audio: instalar el paquete npm de efectos de llamada
Importante
En este tutorial se emplea la versión del SDK de llamadas de Azure Communication Services 1.28.4
o posterior, junto con la versión del SDK de efectos de llamada de Azure Communication Services 1.1.2
o posterior. La versión estable de disponibilidad general (GA) 1.28.4
y versiones posteriores del SDK de llamadas admiten características de supresión de ruido. Como alternativa, si opta por usar la versión preliminar pública, las versiones del SDK de llamada 1.24.2-beta.1
y versiones posteriores también admiten la supresión de ruido.
La compatibilidad actual del explorador para agregar efectos de supresión de ruido de audio solo está disponible en los exploradores de escritorio chrome y Edge.
La biblioteca de efectos de llamada no se puede usar de forma independiente. Solo funciona cuando se usa con la biblioteca cliente de llamadas de Azure Communication Services para WebJS.
Use el comando npm install
para instalar el SDK de Efectos de audio de Azure Communication Services para JavaScript.
Si usa la versión de disponibilidad general del SDK de llamadas, debe usar la versión de disponibilidad general del SDK de efectos de llamada.
@azure/communication-calling-effects/v/latest
Si usa la versión preliminar pública del SDK de llamadas, debe usar la versión beta del SDK de efectos de llamada.
@azure/communication-calling-effects/v/next
Cargar la biblioteca de efectos de supresión de ruido
Para obtener información sobre la interfaz que detalla las propiedades y los métodos de los efectos de audio, consulte la página de documentación de la API de la interfaz de funciones de efectos de audio.
Para usar efectos de audio de supresión de ruido en el SDK de llamadas de Azure Communication Services, necesita la propiedad LocalAudioStream
que se encuentra actualmente en la llamada. Necesita acceso a la API de AudioEffects
de la propiedad LocalAudioStream
para iniciar y detener los efectos de audio.
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}`);
});
Comprobar qué efectos de audio están activos
Para comprobar qué efectos de supresión de ruido están activos actualmente, puede usar la propiedad activeEffects
.
La propiedad activeEffects
devuelve un objeto con los nombres de los efectos activos actuales.
// 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
});
Iniciar una llamada con la supresión de ruido habilitada automáticamente
Puede iniciar una llamada con la supresión de ruido activada. Cree una nueva propiedad de LocalAudioStream
con AudioDeviceInfo
(el de origen de LocalAudioStream
no debe ser una propiedad MediaStream
sin procesar para usar efectos de audio) y pasarla en 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]
}
});
Activar la supresión de ruido durante una llamada en curso
Es posible que inicie una llamada y no tenga activada la supresión de ruido. Es posible que el entorno tenga ruido para que tenga que activar la supresión de ruido. Para activar la supresión de ruido, puede usar la API de audioEffectsFeatureApi.startEffects
.
// 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
});
Contenido relacionado
Consulte la página de documentación interfaz de características de efectos de audio para obtener detalles de características de API extendidas.
Aprenda a configurar filtros de audio con los SDK de llamadas nativas
Los efectos de audio de Azure Communication Services ofrecen filtros que pueden mejorar las llamadas de audio. En el caso de las plataformas nativas (Android, iOS y Windows), puede configurar los siguientes filtros.
Cancelación del eco
Puede eliminar el eco acústico causado por el eco de voz del autor de la llamada de nuevo en el micrófono después de que se emita desde el altavoz. La cancelación del eco garantiza una comunicación clara.
Puede configurar el filtro antes y durante una llamada. Solo puede alternar la cancelación de eco si el modo de música está habilitado. De manera predeterminada, este filtro está habilitado.
Supresión de ruido
Puede mejorar la calidad del audio filtrando ruidos de fondo no deseados, como escribir, aire acondicionado o sonidos de calle. Esta tecnología garantiza que la voz sea nítida y clara para facilitar la comunicación más eficaz.
Puede configurar el filtro antes y durante una llamada. Los modos disponibles actualmente son Desactivado, Automático, Bajoy Alto. De forma predeterminada, esta característica se establece en Alto.
Control automático de ganancia
Puede ajustar automáticamente el volumen del micrófono para garantizar niveles de audio coherentes a lo largo de la llamada.
- El control de ganancia automática analógica es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
- El control de ganancia automática digital es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
Modo de música
El modo de música es un filtro que está disponible antes y durante una llamada. Para obtener más información sobre el modo de música, consulta el modo música en el SDK de llamadas nativas. El modo de música solo funciona en plataformas nativas a través de llamadas de uno a uno o grupo. No funciona en llamadas uno a uno entre plataformas nativas y la web. De manera predeterminada, el modo de música está deshabilitado.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Azure Communication Services implementado. Cree un recurso de Azure Communication Services.
- Un token de acceso de usuario para habilitar el cliente de llamada. Para más información, consulte Inicio rápido: Creación y administración de tokens de acceso.
- Opcional: Complete la guía de inicio rápido para agregar llamadas de voz a la aplicación.
Instalación del SDK
Busque el archivo build.gradle
de nivel de proyecto y agregue mavenCentral()
a la lista de repositorios en buildscript
y allprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Luego, en el archivo build.gradle
de nivel de módulo, agregue las siguientes líneas a la sección dependencies
:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Inicialización de los objetos necesarios
Para crear una instancia de CallAgent
, debe llamar al método createCallAgent
en una instancia de CallClient
. Esta llamada devuelve un objeto de instancia de CallAgent
de manera asincrónica.
El método createCallAgent
toma CommunicationUserCredential
como argumento, que encapsula un token de acceso.
Para acceder a DeviceManager
, primero debe crear una instancia de callAgent
. A continuación, puede usar el método CallClient.getDeviceManager
para obtener 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();
Para establecer un nombre para mostrar para el autor de la llamada, use este método alternativo:
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();
Puede usar la característica de filtro de audio para aplicar diferentes opciones de preprocesamiento de audio al audio saliente. Los dos tipos de filtros de audio son OutgoingAudioFilters
y LiveOutgoingAudioFilters
. Use OutgoingAudioFilters
para cambiar la configuración antes de que se inicie la llamada. Use LiveOutgoingAudioFilters
para cambiar la configuración mientras una llamada está en curso.
En primer lugar, debe importar el SDK de llamada y las clases asociadas:
import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;
Antes de que se inicie una llamada
Puede aplicar OutgoingAudioFilters
cuando se inicia una llamada.
Empiece por crear una OutgoingAudioFilters
propiedad y pasarla a OutgoingAudioOptions
, como se muestra en el código siguiente:
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);
Durante la llamada
Puede aplicar LiveOutgoingAudioFilters
después de que se inicie una llamada. Puede recuperar este objeto del objeto de llamada durante la llamada. Para cambiar la configuración de LiveOutgoingAudioFilters
, establezca los miembros dentro de la clase en un valor válido y se aplicarán.
Solo hay disponible un subconjunto de los filtros disponibles OutgoingAudioFilters
durante una llamada activa. Son modo de música, cancelación de eco y modo de supresión de ruido.
LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
Aprenda a configurar filtros de audio con los SDK de llamadas nativas
Los efectos de audio de Azure Communication Services ofrecen filtros que pueden mejorar las llamadas de audio. En el caso de las plataformas nativas (Android, iOS y Windows), puede configurar los siguientes filtros.
Cancelación del eco
Puede eliminar el eco acústico causado por el eco de voz del autor de la llamada de nuevo en el micrófono después de que se emita desde el altavoz. La cancelación del eco garantiza una comunicación clara.
Puede configurar el filtro antes y durante una llamada. Solo puede alternar la cancelación de eco si el modo de música está habilitado. De manera predeterminada, este filtro está habilitado.
Supresión de ruido
Puede mejorar la calidad del audio filtrando ruidos de fondo no deseados, como escribir, aire acondicionado o sonidos de calle. Esta tecnología garantiza que la voz sea nítida y clara para facilitar la comunicación más eficaz.
Puede configurar el filtro antes y durante una llamada. Los modos disponibles actualmente son Desactivado, Automático, Bajoy Alto. De forma predeterminada, esta característica se establece en Alto.
Control automático de ganancia
Puede ajustar automáticamente el volumen del micrófono para garantizar niveles de audio coherentes a lo largo de la llamada.
- El control de ganancia automática analógica es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
- El control de ganancia automática digital es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
Modo de música
El modo de música es un filtro que está disponible antes y durante una llamada. Para obtener más información sobre el modo de música, consulta el modo música en el SDK de llamadas nativas. El modo de música solo funciona en plataformas nativas a través de llamadas de uno a uno o grupo. No funciona en llamadas uno a uno entre plataformas nativas y la web. De manera predeterminada, el modo de música está deshabilitado.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Azure Communication Services implementado. Cree un recurso de Azure Communication Services.
- Un token de acceso de usuario para habilitar el cliente de llamada. Para más información, consulte Inicio rápido: Creación y administración de tokens de acceso.
- Opcional: Complete la guía de inicio rápido para agregar llamadas de voz a la aplicación.
Configuración del sistema
Siga estos pasos para configurar el sistema.
Creación del proyecto de Xcode
En Xcode, cree un nuevo proyecto de iOS y seleccione la plantilla Aplicación de una vista. En este artículo se usa el marco SwiftUI, por lo que debe establecer el Lenguaje en Swift y la Interfaz en SwiftUI.
No va a crear pruebas en este artículo. Puede desactivar la casilla Incluir pruebas.
Instalación del paquete y las dependencias mediante CocoaPods
Cree un Podfile para la aplicación, como en este ejemplo:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Ejecute
pod install
.Abra
.xcworkspace
mediante Xcode.
Solicitud de acceso al micrófono
Para acceder al micrófono del dispositivo, debe actualizar la lista de propiedades de información de la aplicación mediante NSMicrophoneUsageDescription
. Establezca el valor asociado en una cadena que se incluye en el cuadro de diálogo empleado por el sistema para solicitar acceso al usuario.
Haga clic con el botón derecho en la entrada Info.plist del árbol del proyecto y seleccione Abrir como>Código fuente. Agregue las líneas siguientes a la sección <dict>
de nivel superior y guarde el archivo.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Instalación del marco de la aplicación
Abra el archivo ContentView.swift
del proyecto. Agregue una declaración import
a la parte superior del archivo para importar la biblioteca AzureCommunicationCalling
. Además, importe AVFoundation
. Lo necesitará para las solicitudes de permiso de audio en el código.
import AzureCommunicationCalling
import AVFoundation
Inicialización de CallAgent
Para crear una instancia de CallAgent
a partir de CallClient
, debe usar el método callClient.createCallAgent
, que devuelve de manera asincrónica un objeto CallAgent
después de que se inicializa.
Para crear un cliente de llamada, pase un objeto 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)
}
Pase el objeto CommunicationTokenCredential
que ha creado a CallClient
y establezca el nombre para mostrar:
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")
}
})
Puede usar la característica de filtro de audio para aplicar diferentes opciones de preprocesamiento de audio al audio saliente. Los dos tipos de filtros de audio son OutgoingAudioFilters
y LiveOutgoingAudioFilters
. Use OutgoingAudioFilters
para cambiar la configuración antes de que se inicie la llamada. Use LiveOutgoingAudioFilters
para cambiar la configuración mientras una llamada está en curso.
En primer lugar, necesita importar el SDK de llamada:
import AzureCommunicationCalling
Antes de que se inicie la llamada
Puede aplicar OutgoingAudioFilters
cuando se inicia una llamada.
Empiece por crear una propiedad OutgoingAudioFilters
y pasarla a OutgoingAudioOptions
, como se muestra aquí:
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
Durante la llamada
Puede aplicar LiveOutgoingAudioFilters
después de que se inicie una llamada. Puede recuperar este objeto del objeto de llamada durante la llamada. Para cambiar la configuración de LiveOutgoingAudioFilters
, establezca los miembros dentro de la clase en un valor válido y se aplicarán.
Solo hay disponible un subconjunto de los filtros disponibles OutgoingAudioFilters
durante una llamada activa. Son modo de música, cancelación de eco y modo de supresión de ruido.
LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
Aprenda a configurar filtros de audio con los SDK de llamadas nativas
Los efectos de audio de Azure Communication Services ofrecen filtros que pueden mejorar las llamadas de audio. En el caso de las plataformas nativas (Android, iOS y Windows), puede configurar los siguientes filtros.
Cancelación del eco
Puede eliminar el eco acústico causado por el eco de voz del autor de la llamada de nuevo en el micrófono después de que se emita desde el altavoz. La cancelación del eco garantiza una comunicación clara.
Puede configurar el filtro antes y durante una llamada. Solo puede alternar la cancelación de eco si el modo de música está habilitado. De manera predeterminada, este filtro está habilitado.
Supresión de ruido
Puede mejorar la calidad del audio filtrando ruidos de fondo no deseados, como escribir, aire acondicionado o sonidos de calle. Esta tecnología garantiza que la voz sea nítida y clara para facilitar la comunicación más eficaz.
Puede configurar el filtro antes y durante una llamada. Los modos disponibles actualmente son Desactivado, Automático, Bajoy Alto. De forma predeterminada, esta característica se establece en Alto.
Control automático de ganancia
Puede ajustar automáticamente el volumen del micrófono para garantizar niveles de audio coherentes a lo largo de la llamada.
- El control de ganancia automática analógica es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
- El control de ganancia automática digital es un filtro que solo está disponible antes de una llamada. De manera predeterminada, este filtro está habilitado.
Modo de música
El modo de música es un filtro que está disponible antes y durante una llamada. Para obtener más información sobre el modo de música, consulta el modo música en el SDK de llamadas nativas. El modo de música solo funciona en plataformas nativas a través de llamadas de uno a uno o grupo. No funciona en llamadas uno a uno entre plataformas nativas y la web. De manera predeterminada, el modo de música está deshabilitado.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Azure Communication Services implementado. Cree un recurso de Azure Communication Services.
- Un token de acceso de usuario para habilitar el cliente de llamada. Para más información, consulte Inicio rápido: Creación y administración de tokens de acceso.
- Opcional: Complete la guía de inicio rápido para agregar llamadas de voz a la aplicación.
Configuración del sistema
Siga estos pasos para configurar el sistema.
Creación del proyecto de Visual Studio
En el caso de una aplicación para la Plataforma universal de Windows, en Visual Studio 2022, cree un proyecto de Aplicación vacía (Universal Windows). Después de escribir el nombre del proyecto, puede elegir cualquier Windows SDK posterior a 10.0.17763.0.
En el caso de una aplicación WinUI 3, cree un nuevo proyecto con la plantilla Aplicación vacía, empaquetada (WinUI 3 en escritorio) para configurar una aplicación WinUI 3 de una sola página. Se requiere la versión 1.3 o posterior del SDK de aplicaciones de Windows.
Instalación del paquete y las dependencias mediante el Administrador de paquetes NuGet
Las API y bibliotecas de SDK de llamadas están disponibles públicamente a través de un paquete NuGet.
Para buscar, descargar e instalar el paquete NuGet del SDK de llamadas:
- Abra el Administrador de paquetes NuGet desde Herramientas>Administrador de paquetes NuGet>Administrar paquetes NuGet para la solución.
- Seleccione Explorar y, después, escriba Azure.Communication.Calling.WindowsClient en el cuadro de búsqueda.
- Asegúrese de que la casilla Incluir versión preliminar esté activada.
- Seleccione el paquete Azure.Communication.Calling.WindowsClient y, después, Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 o una versión más reciente.
- Seleccione la casilla correspondiente al proyecto de Azure Communication Services en el panel derecho.
- Seleccione Instalar.
Puede usar la característica de filtro de audio para aplicar diferentes preprocesamientos de audio al audio saliente. Los dos tipos de filtros de audio son OutgoingAudioFilters
y LiveOutgoingAudioFilters
. Use OutgoingAudioFilters
para cambiar la configuración antes de que se inicie la llamada. Use LiveOutgoingAudioFilters
para cambiar la configuración mientras una llamada está en curso.
En primer lugar, necesita importar el SDK de llamada:
using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;
Antes de que se inicie una llamada
Puede aplicar OutgoingAudioFilters
cuando se inicia una llamada.
Empiece por crear una propiedad OutgoingAudioFilters
y pasarla a OutgoingAudioOptions
, como se muestra en el código siguiente:
var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
AnalogAutomaticGainControlEnabled = true,
DigitalAutomaticGainControlEnabled = true,
MusicModeEnabled = true,
AcousticEchoCancellationEnabled = true,
NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;
Durante la llamada
Puede aplicar LiveOutgoingAudioFilters
después de que se inicie una llamada. Puede recuperar este objeto del objeto de llamada después de que se inicie la llamada. Para cambiar la configuración de LiveOutgoingAudioFilters
, establezca los miembros dentro de la clase en un valor válido y se aplicarán.
Solo hay disponible un subconjunto de los filtros disponibles OutgoingAudioFilters
durante una llamada activa. Son modo de música, cancelación de eco y modo de supresión de ruido.
LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;