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
});
Conteúdos relacionados
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
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso implantado dos Serviços de Comunicação do Azure. Crie um recurso dos Serviços de Comunicação do Azure.
- Um token de acesso de usuário para habilitar o cliente chamador. Para obter mais informações, consulte Criar e gerenciar tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo.
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 DeviceManager
o , 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
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso implantado dos Serviços de Comunicação do Azure. Crie um recurso dos Serviços de Comunicação do Azure.
- Um token de acesso de usuário para habilitar o cliente chamador. Para obter mais informações, consulte Criar e gerenciar tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo.
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 .
Instale o pacote e as dependências usando o CocoaPods
Crie um Podfile para seu aplicativo, como este exemplo:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Execute o
pod install
.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 CallClient
e 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
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso implantado dos Serviços de Comunicação do Azure. Crie um recurso dos Serviços de Comunicação do Azure.
- Um token de acesso de usuário para habilitar o cliente chamador. Para obter mais informações, consulte Criar e gerenciar tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo.
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:
- Abra o Gerenciador de Pacotes NuGet selecionando Ferramentas>Gerenciador>de Pacotes NuGet Gerenciar Pacotes NuGet para Solução.
- Selecione Procurar e digite Azure.Communication.Calling.WindowsClient na caixa de pesquisa.
- Verifique se a caixa de seleção Incluir pré-lançamento está marcada.
- 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.
- Marque a caixa de seleção que corresponde ao projeto dos Serviços de Comunicação do Azure no painel direito.
- 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;