Partilhar via


Adicione melhorias na qualidade de áudio à sua experiência de chamadas de áudio

As capacidades de supressão de ruído de efeitos de áudio dos Serviços de Comunicação do Azure podem melhorar as suas chamadas de áudio filtrando ruídos de fundo indesejados. A supressão de ruído é uma tecnologia que remove ruídos de fundo de chamadas de áudio. A eliminação do ruído de fundo torna mais fácil falar e ouvir. A supressão do ruído também pode reduzir as distrações e o cansaço causados por locais ruidosos. Por exemplo, se você estiver atendendo uma chamada WebJS dos Serviços de Comunicação do Azure em uma cafeteria barulhenta, ativar a supressão de ruído pode melhorar a experiência da chamada.

Usar efeitos de áudio: instale o pacote npm de efeitos de chamada

Importante

Este tutorial emprega a versão 1.28.4 do SDK de Chamada dos Serviços de Comunicação do Azure ou posterior, juntamente com a versão 1.1.2 do SDK dos Efeitos de Chamada dos Serviços de Comunicação do Azure ou posterior. A versão 1.28.4 estável de disponibilidade geral (GA) e posterior do SDK de chamada suportam recursos de supressão de ruído. Como alternativa, se você optar por usar a versão de visualização pública, as versões 1.24.2-beta.1 do SDK de chamada e posteriores também oferecem suporte à supressão de ruído.

O suporte atual do navegador para adicionar efeitos de supressão de ruído de áudio está disponível apenas nos navegadores Chrome e Edge para desktop.

A biblioteca de efeitos de chamada não pode ser usada de forma autônoma. Ele funciona somente quando usado com a biblioteca de cliente de Chamada dos Serviços de Comunicação do Azure para WebJS.

Use o npm install comando para instalar o SDK de Efeitos de Áudio dos Serviços de Comunicação do Azure para JavaScript.

Se você usar a versão GA do SDK de chamada, deverá usar a versão GA do SDK de efeitos de chamada.

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

Se você usar a visualização pública do SDK de chamada, deverá usar a versão beta do SDK de efeitos de chamada.

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

Carregue a biblioteca de efeitos de supressão de ruído

Para obter informações sobre a interface que detalha propriedades e métodos de efeitos de áudio, consulte a página de documentação da API da interface de recursos de efeitos de áudio.

Para usar efeitos de áudio de supressão de ruído no SDK de Chamada dos Serviços de Comunicação do Azure, você precisa da LocalAudioStream propriedade que está atualmente na chamada. Você precisa acessar a AudioEffects LocalAudioStream API da propriedade para iniciar e parar efeitos de áudio.

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

Verifique quais efeitos de áudio estão ativos

Para verificar quais efeitos de supressão de ruído estão ativos no momento, você pode usar a activeEffects propriedade.

A activeEffects propriedade retorna um objeto com os nomes dos efeitos ativos atuais.

// 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 uma chamada com a supressão de ruído ativada automaticamente

Pode iniciar uma chamada com a supressão de ruído ativada. Crie uma nova LocalAudioStream propriedade com AudioDeviceInfo (a LocalAudioStream fonte não deve ser uma propriedade bruta MediaStream para usar efeitos de áudio) e passe-a 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]
    }
});

Ativar a supressão de ruído durante uma chamada em curso

Você pode iniciar uma chamada e não ter a supressão de ruído ativada. O ambiente pode ficar barulhento, de modo que você precisa ativar a supressão de ruído. Para ativar a supressão de ruído, você pode usar a audioEffectsFeatureApi.startEffects API.

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

// Get LocalAudioStream from the localAudioStream collection on the call object
// 'call' here represents the call object.
const localAudioStreamInCall = call.localAudioStreams[0];

// Get the audio effects feature API from LocalAudioStream
const audioEffectsFeatureApi = localAudioStreamInCall.feature(AzureCommunicationCallingSDK.Features.AudioEffects);

// We recommend that you check support for the effect in the current environment by using the isSupported method on the feature API. Remember that noise supression is only supported on desktop browsers for Chrome and Edge.
const isDeepNoiseSuppressionSupported = await audioEffectsFeatureApi.isSupported(deepNoiseSuppression);
if (isDeepNoiseSuppressionSupported) {
    console.log('Noise supression is supported in the current browser environment');
}

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

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

Consulte a página de documentação da interface do recurso de efeitos de áudio para obter detalhes estendidos do recurso da API.

Saiba como configurar filtros de áudio com os SDKs de Chamada Nativa

Os efeitos de áudio dos Serviços de Comunicação do Azure oferecem filtros que podem melhorar sua chamada de áudio. Para plataformas nativas (Android, iOS e Windows), você pode configurar os seguintes filtros.

Cancelamento de eco

Você pode eliminar o eco acústico causado pela voz do chamador ecoando de volta para o microfone depois de emitida pelo alto-falante. O cancelamento de eco garante uma comunicação clara.

Você pode configurar o filtro antes e durante uma chamada. Só pode alternar o cancelamento de eco se o modo de música estiver ativado. Por padrão, esse filtro está habilitado.

Supressão de ruído

Você pode melhorar a qualidade do áudio filtrando ruídos de fundo indesejados, como digitação, ar condicionado ou sons de rua. Esta tecnologia garante que a voz é nítida e clara para facilitar uma comunicação mais eficaz.

Você pode configurar o filtro antes e durante uma chamada. Os modos atualmente disponíveis são Desativado, Automático, Baixo e Alto. Por padrão, esse recurso é definido como Alto.

Controle automático de ganho

Você pode ajustar automaticamente o volume do microfone para garantir níveis de áudio consistentes durante toda a chamada.

  • O controle de ganho automático analógico é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.
  • O controle de ganho automático digital é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.

Modo de música

O modo de música é um filtro que está disponível antes e durante uma chamada. Para saber mais sobre o modo de música, consulte Modo de música no SDK de chamada nativa. O modo de música funciona apenas em plataformas nativas em chamadas individuais ou em grupo. Não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desativado.

Pré-requisitos

Instale o SDK

Localize seu arquivo no nível build.gradle do projeto e adicione mavenCentral() à lista de repositórios em buildscript e allprojects:

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

Em seguida, no arquivo de nível build.gradle de módulo, adicione as seguintes linhas à dependencies seção:

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

Inicializar os objetos necessários

Para criar uma CallAgent instância, você precisa chamar o createCallAgent método em uma CallClient instância. Essa chamada retorna de forma assíncrona um objeto de CallAgent instância.

O createCallAgent método toma CommunicationUserCredential como um argumento, que encapsula um token de acesso.

Para acessar DeviceManagero , você deve criar uma callAgent instância primeiro. Então você pode usar o CallClient.getDeviceManager método para obter 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 definir um nome de exibição para o chamador, 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();

Você pode usar o recurso de filtro de áudio para aplicar diferentes opções de pré-processamento de áudio ao áudio de saída. Os dois tipos de filtros de áudio são OutgoingAudioFilters e LiveOutgoingAudioFilters. Use OutgoingAudioFilters para alterar as configurações antes que a chamada seja iniciada. Use LiveOutgoingAudioFilters para alterar as configurações enquanto uma chamada está em andamento.

Primeiro, você precisa importar o SDK de chamada e as classes associadas:

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

Antes do início de uma chamada

Pode candidatar-se OutgoingAudioFilters quando uma chamada é iniciada.

Comece criando uma OutgoingAudioFilters propriedade e passando-a para OutgoingAudioOptions, conforme mostrado no código a seguir:

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 a chamada

Pode candidatar-se LiveOutgoingAudioFilters após o início de uma chamada. Você pode recuperar esse objeto do objeto de chamada durante a chamada. Para alterar a configuração no LiveOutgoingAudioFilters, defina os membros dentro da classe para um valor válido e eles serão aplicados.

Apenas um subconjunto dos filtros disponíveis estão OutgoingAudioFilters disponíveis durante uma chamada ativa. Eles são o modo de música, cancelamento de eco e modo de supressão de ruído.

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

Saiba como configurar filtros de áudio com os SDKs de Chamada Nativa

Os efeitos de áudio dos Serviços de Comunicação do Azure oferecem filtros que podem melhorar sua chamada de áudio. Para plataformas nativas (Android, iOS e Windows), você pode configurar os seguintes filtros.

Cancelamento de eco

Você pode eliminar o eco acústico causado pela voz do chamador ecoando de volta para o microfone depois de emitida pelo alto-falante. O cancelamento de eco garante uma comunicação clara.

Você pode configurar o filtro antes e durante uma chamada. Só pode alternar o cancelamento de eco se o modo de música estiver ativado. Por padrão, esse filtro está habilitado.

Supressão de ruído

Você pode melhorar a qualidade do áudio filtrando ruídos de fundo indesejados, como digitação, ar condicionado ou sons de rua. Esta tecnologia garante que a voz é nítida e clara para facilitar uma comunicação mais eficaz.

Você pode configurar o filtro antes e durante uma chamada. Os modos atualmente disponíveis são Desativado, Automático, Baixo e Alto. Por padrão, esse recurso é definido como Alto.

Controle automático de ganho

Você pode ajustar automaticamente o volume do microfone para garantir níveis de áudio consistentes durante toda a chamada.

  • O controle de ganho automático analógico é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.
  • O controle de ganho automático digital é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.

Modo de música

O modo de música é um filtro que está disponível antes e durante uma chamada. Para saber mais sobre o modo de música, consulte Modo de música no SDK de chamada nativa. O modo de música funciona apenas em plataformas nativas em chamadas individuais ou em grupo. Não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desativado.

Pré-requisitos

Configure o seu sistema

Siga estes passos para configurar o seu sistema.

Criar o projeto Xcode

No Xcode, crie um novo projeto iOS e selecione o modelo Single View App . Este artigo usa a estrutura SwiftUI, portanto, você deve definir Language como Swift e Interface como SwiftUI.

Você não vai criar testes neste artigo. Sinta-se à vontade para desmarcar a caixa de seleção Incluir testes .

Captura de tela que mostra a janela para criar um projeto no Xcode.

Instale o pacote e as dependências usando o CocoaPods

  1. Crie um Podfile para seu aplicativo, como este exemplo:

    platform :ios, '13.0'
    use_frameworks!
    target 'AzureCommunicationCallingSample' do
        pod 'AzureCommunicationCalling', '~> 1.0.0'
    end
    
  2. Execute o pod install.

  3. Abra .xcworkspace usando o Xcode.

Solicitar acesso ao microfone

Para acessar o microfone do dispositivo, você precisa atualizar a lista de propriedades de informações do seu aplicativo usando NSMicrophoneUsageDescription. Defina o valor associado para uma cadeia de caracteres incluída na caixa de diálogo que o sistema usa para solicitar acesso do usuário.

Clique com o botão direito do mouse na entrada Info.plist da árvore do projeto e selecione Abrir como>código-fonte. Adicione as seguintes linhas na secção de nível <dict> superior e, em seguida, guarde o ficheiro.

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

Configurar a estrutura do aplicativo

Abra o arquivo do ContentView.swift seu projeto. Adicione uma import declaração à parte superior do arquivo para importar a AzureCommunicationCalling biblioteca. Além disso, importe AVFoundation. Você precisa dele para solicitações de permissão de áudio no código.

import AzureCommunicationCalling
import AVFoundation

Inicializar o CallAgent

Para criar uma CallAgent instância a partir do CallClient, você precisa usar um callClient.createCallAgent método que retorna de forma assíncrona um CallAgent objeto depois que ele é inicializado.

Para criar um cliente de chamada, passe um CommunicationTokenCredential objeto:

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

Passe o CommunicationTokenCredential objeto que você criou para CallCliente defina o nome para exibição:

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

Você pode usar o recurso de filtro de áudio para aplicar diferentes opções de pré-processamento de áudio ao áudio de saída. Os dois tipos de filtros de áudio são OutgoingAudioFilters e LiveOutgoingAudioFilters. Use OutgoingAudioFilters para alterar as configurações antes que a chamada seja iniciada. Use LiveOutgoingAudioFilters para alterar as configurações enquanto uma chamada está em andamento.

Primeiro, você precisa importar o SDK de chamada:

import AzureCommunicationCalling

Antes do início da chamada

Pode candidatar-se OutgoingAudioFilters quando uma chamada é iniciada.

Comece criando uma OutgoingAudioFilters propriedade e passando-a para OutgoingAudioOptions, como mostrado aqui:

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 a chamada

Pode candidatar-se LiveOutgoingAudioFilters após o início de uma chamada. Você pode recuperar esse objeto do objeto de chamada durante a chamada. Para alterar a configuração no LiveOutgoingAudioFilters, defina os membros dentro da classe para um valor válido e eles serão aplicados.

Apenas um subconjunto dos filtros disponíveis estão OutgoingAudioFilters disponíveis durante uma chamada ativa. Eles são o modo de música, cancelamento de eco e modo de supressão de ruído.

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

Saiba como configurar filtros de áudio com os SDKs de Chamada Nativa

Os efeitos de áudio dos Serviços de Comunicação do Azure oferecem filtros que podem melhorar sua chamada de áudio. Para plataformas nativas (Android, iOS e Windows), você pode configurar os seguintes filtros.

Cancelamento de eco

Você pode eliminar o eco acústico causado pela voz do chamador ecoando de volta para o microfone depois de emitida pelo alto-falante. O cancelamento de eco garante uma comunicação clara.

Você pode configurar o filtro antes e durante uma chamada. Só pode alternar o cancelamento de eco se o modo de música estiver ativado. Por padrão, esse filtro está habilitado.

Supressão de ruído

Você pode melhorar a qualidade do áudio filtrando ruídos de fundo indesejados, como digitação, ar condicionado ou sons de rua. Esta tecnologia garante que a voz é nítida e clara para facilitar uma comunicação mais eficaz.

Você pode configurar o filtro antes e durante uma chamada. Os modos atualmente disponíveis são Desativado, Automático, Baixo e Alto. Por padrão, esse recurso é definido como Alto.

Controle automático de ganho

Você pode ajustar automaticamente o volume do microfone para garantir níveis de áudio consistentes durante toda a chamada.

  • O controle de ganho automático analógico é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.
  • O controle de ganho automático digital é um filtro que está disponível apenas antes de uma chamada. Por padrão, esse filtro está habilitado.

Modo de música

O modo de música é um filtro que está disponível antes e durante uma chamada. Para saber mais sobre o modo de música, consulte Modo de música no SDK de chamada nativa. O modo de música funciona apenas em plataformas nativas em chamadas individuais ou em grupo. Não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desativado.

Pré-requisitos

Configure o seu sistema

Siga estes passos para configurar o seu sistema.

Criar o projeto do Visual Studio

Para um aplicativo da Plataforma Universal do Windows, no Visual Studio 2022, crie um novo projeto Aplicativo em Branco (Universal Windows). Depois de inserir o nome do projeto, sinta-se à vontade para escolher qualquer SDK do Windows posterior a 10.0.17763.0.

Para um aplicativo WinUI 3, crie um novo projeto com o modelo Aplicativo em branco, empacotado (WinUI 3 na área de trabalho) para configurar um aplicativo WinUI 3 de página única. É necessário o SDK de Aplicativos Windows versão 1.3 ou posterior.

Instalar o pacote e as dependências usando o Gerenciador de Pacotes NuGet

As APIs e bibliotecas do SDK de chamada estão disponíveis publicamente por meio de um pacote NuGet.

Para localizar, baixar e instalar o pacote NuGet do SDK de chamada:

  1. Abra o Gerenciador de Pacotes NuGet selecionando Ferramentas>Gerenciador>de Pacotes NuGet Gerenciar Pacotes NuGet para Solução.
  2. Selecione Procurar e digite Azure.Communication.Calling.WindowsClient na caixa de pesquisa.
  3. Verifique se a caixa de seleção Incluir pré-lançamento está marcada.
  4. Selecione o pacote Azure.Communication.Calling.WindowsClient e, em seguida, selecione Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 ou uma versão mais recente.
  5. Marque a caixa de seleção que corresponde ao projeto dos Serviços de Comunicação do Azure no painel direito.
  6. Selecione Instalar.

Você pode usar o recurso de filtro de áudio para aplicar pré-processamento de áudio diferente ao áudio de saída. Os dois tipos de filtros de áudio são OutgoingAudioFilters e LiveOutgoingAudioFilters. Use OutgoingAudioFilters para alterar as configurações antes que a chamada seja iniciada. Use LiveOutgoingAudioFilters para alterar as configurações enquanto uma chamada está em andamento.

Primeiro, você precisa importar o SDK de chamada:

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

Antes do início de uma chamada

Pode candidatar-se OutgoingAudioFilters quando uma chamada é iniciada.

Comece criando uma OutgoingAudioFilters propriedade e passando-a para OutgoingAudioOptions, conforme mostrado no código a seguir:

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

Durante a chamada

Pode candidatar-se LiveOutgoingAudioFilters após o início de uma chamada. Você pode recuperar esse objeto do objeto de chamada depois que a chamada começar. Para alterar a configuração no LiveOutgoingAudioFilters, defina os membros dentro da classe para um valor válido e eles serão aplicados.

Apenas um subconjunto dos filtros disponíveis estão OutgoingAudioFilters disponíveis durante uma chamada ativa. Eles são o modo de música, cancelamento de eco e modo de supressão de ruído.

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