Adicione melhorias de qualidade de áudio à sua experiência de chamada de áudio
As habilidades de efeitos de áudio supressão de ruído dos Serviços de Comunicação do Azure podem melhorar 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. Eliminar o ruído de fundo facilita a conversa e a escuta. A supressão de ruído também pode reduzir as distrações e o cansaço causados por locais barulhentos. Por exemplo, se estiver atendendo uma chamada WebJS dos Serviços de Comunicação do Azure em um café barulhento, ativar a supressão de ruído pode melhorar a experiência da chamada.
Usar efeitos de áudio: instalar o pacote npm de efeitos de chamada
Importante
Este tutorial usa o SDK de Chamada dos Serviços de Comunicação do Azure versão 1.28.4
ou posterior, juntamente com o SDK de Efeitos de Chamada dos Serviços de Comunicação do Azure versão 1.1.2
ou posterior. A versão estável 1.28.4
e posteriores de GA (disponibilidade geral) dos recursos de supressão de ruído de suporte do SDK de chamada. Como alternativa, se você optar por usar a versão de visualização pública, versões 1.24.2-beta.1
e posteriores do SDK de chamada também oferecem suporte à supressão de ruído.
O suporte atual do navegador para adicionar efeitos de áudio de supressão de ruído está disponível apenas nos navegadores Chrome e Edge Desktop.
A biblioteca de efeitos de chamada não pode ser usada de forma independente. Ela funciona somente quando a biblioteca de clientes de Chamada dos Serviços de Comunicação do Azure para WebJS.
Use o comando npm install
para instalar o SDK de efeitos de áudio dos Serviços de Comunicação do Azure para JavaScript.
Se você usar a versão de 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ê estiver usando a visualização pública do SDK de chamada, deverá usar a versão beta do SDK de efeitos.
@azure/communication-calling-effects/v/next
Carregar a biblioteca de efeitos de supressão de ruído
Para obter informações sobre a interface que detalha as propriedades e métodos de efeitos de áudio, consulte a página de documentação da API da interface de recurso de efeitos de áudio.
Para usar efeitos de áudio da supressão de ruído no SDK de chamada dos Serviços de Comunicação do Azure, você precisa da propriedade LocalAudioStream
que está atualmente na chamada. Você precisa de acesso à API AudioEffects
da propriedade LocalAudioStream
para iniciar e interromper 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}`);
});
Verificar 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 propriedade activeEffects
.
A propriedade activeEffects
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 habilitada automaticamente
Você pode iniciar uma chamada com a supressão de ruído habilitada. Crie uma nova propriedade LocalAudioStream
com AudioDeviceInfo
(o de origem LocalAudioStream
não deve ser uma propriedade MediaStream
bruta para usar efeitos de áudio) e passá-la em 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 andamento
Você pode iniciar uma chamada e não ter a supressão de ruído ativada. O ambiente pode se tornar barulhento e você pode precisar ativar a supressão de ruído. Para ativar a supressão de ruído, você pode usar a API 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
});
Conteúdo relacionado
Confira a página de documentação Interface do recurso de efeitos de áudio para obter detalhes do recurso da API estendida.
Saiba como configurar os 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), é possível 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 ser emitido do alto-falante. O cancelamento de eco garante uma comunicação clara.
É possível configurar o filtro antes e durante uma chamada. Você pode alternar o cancelamento de eco somente se o modo de música estiver habilitado. 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 da rua. Essa tecnologia garante que a voz seja nítida e clara, para facilitar uma comunicação mais eficaz.
É possível configurar o filtro antes e durante uma chamada. Os modos disponíveis no momento 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 ao longo da chamada.
- O controle de ganho automático analógico é um filtro que está disponível somente antes de uma chamada. Por padrão, esse filtro está habilitado.
- O controle de ganho automático digital é um filtro que está disponível somente 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. Ele não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desabilitado.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Uma implantação do recurso 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 de chamada. Para saber mais, confira Criar e gerenciar token de acesso.
- Opcional: conclua o guia de início rápido para Adicionar chamada de voz ao seu aplicativo.
Instalar o SDK
Localize o arquivo build.gradle
de nível do projeto e adicione mavenCentral()
à lista de repositórios em buildscript
e allprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Em seguida, no arquivo build.gradle
no nível do módulo, adicione as seguintes linhas à seção dependencies
:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Inicializar objetos necessários
Para criar uma instância CallAgent
, você precisa chamar o método createCallAgent
em uma instância CallClient
. Essa chamada retorna de forma assíncrona um objeto de instância CallAgent
.
O método createCallAgent
usa CommunicationUserCredential
como argumento, que encapsula um token de acesso.
Para acessar DeviceManager
, você deverá criar uma instância callAgent
primeiro. Em seguida, você poderá usar o método CallClient.getDeviceManager
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 do início da chamada. 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
Você pode aplicar OutgoingAudioFilters
quando uma chamada é iniciada.
Comece criando uma propriedade OutgoingAudioFilters
e transmitindo-a para OutgoingAudioOptions
, conforme mostrado no seguinte código:
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
Você pode aplicar 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 em LiveOutgoingAudioFilters
, defina os membros dentro da classe com um valor válido e eles serão aplicados.
Somente um subconjunto dos filtros disponíveis de OutgoingAudioFilters
estão disponíveis durante uma chamada ativa. 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 os 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), é possível 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 ser emitido do alto-falante. O cancelamento de eco garante uma comunicação clara.
É possível configurar o filtro antes e durante uma chamada. Você pode alternar o cancelamento de eco somente se o modo de música estiver habilitado. 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 da rua. Essa tecnologia garante que a voz seja nítida e clara, para facilitar uma comunicação mais eficaz.
É possível configurar o filtro antes e durante uma chamada. Os modos disponíveis no momento 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 ao longo da chamada.
- O controle de ganho automático analógico é um filtro que está disponível somente antes de uma chamada. Por padrão, esse filtro está habilitado.
- O controle de ganho automático digital é um filtro que está disponível somente 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. Ele não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desabilitado.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Uma implantação do recurso 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 de chamada. Para saber mais, confira Criar e gerenciar token de acesso.
- Opcional: conclua o guia de início rápido para Adicionar chamada de voz ao seu aplicativo.
Configurar o backup do sistema
Siga essas etapas para configurar seu sistema.
Criar o projeto do Xcode
No Xcode, crie um projeto do iOS e selecione o modelo Aplicativo de Modo de Exibição Único. Como este artigo usa a estrutura SwiftUI, defina Linguagem como Swift e Interface como SwiftUI.
Você não criará testes neste artigo. Fique à vontade para limpar a caixa de seleção Incluir Testes.
Instalar 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
pod install
.Abra o
.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 aplicativo usando NSMicrophoneUsageDescription
. Defina o valor associado como uma cadeia de caracteres incluída na caixa de diálogo que é usada pelo sistema para solicitar o acesso do usuário.
Clique com o botão direito do mouse na entrada Info.plist da árvore de projeto e selecione Abrir Como>Código-Fonte. Adicione as linhas a seguir na seção do nível superior<dict>
e, em seguida, salve o arquivo.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Configurar o framework de aplicativos
Abra o arquivo ContentView.swift
do projeto. Adicione uma declaração import
à parte superior do arquivo para importar a biblioteca AzureCommunicationCalling
. Além disso, importeAVFoundation
. Você precisa dele para solicitações de permissão de áudio no código.
import AzureCommunicationCalling
import AVFoundation
Inicialização do CallAgent
Para criar umaCallAgent
instânciaCallClient
,você precisa usar um método callClient.createCallAgent
que retorne de modo assíncrono um objetoCallAgent
depois que ele for inicializado.
Para criar um cliente de chamada, passe um 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)
}
Passe o objeto CommunicationTokenCredential
que você criou para CallClient
e defina o nome de 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 do início da chamada. 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
Você pode aplicar OutgoingAudioFilters
quando uma chamada é iniciada.
Comece criando uma propriedade OutgoingAudioFilters
e transmitindo-a para OutgoingAudioOptions
, conforme 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
Você pode aplicar 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 em LiveOutgoingAudioFilters
, defina os membros dentro da classe com um valor válido e eles serão aplicados.
Somente um subconjunto dos filtros disponíveis de OutgoingAudioFilters
estão disponíveis durante uma chamada ativa. 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 os 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), é possível 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 ser emitido do alto-falante. O cancelamento de eco garante uma comunicação clara.
É possível configurar o filtro antes e durante uma chamada. Você pode alternar o cancelamento de eco somente se o modo de música estiver habilitado. 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 da rua. Essa tecnologia garante que a voz seja nítida e clara, para facilitar uma comunicação mais eficaz.
É possível configurar o filtro antes e durante uma chamada. Os modos disponíveis no momento 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 ao longo da chamada.
- O controle de ganho automático analógico é um filtro que está disponível somente antes de uma chamada. Por padrão, esse filtro está habilitado.
- O controle de ganho automático digital é um filtro que está disponível somente 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. Ele não funciona em chamadas individuais entre plataformas nativas e a Web. Por padrão, o modo de música está desabilitado.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Uma implantação do recurso 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 de chamada. Para saber mais, confira Criar e gerenciar token de acesso.
- Opcional: conclua o guia de início rápido para Adicionar chamada de voz ao seu aplicativo.
Configurar o backup do sistema
Siga essas etapas para configurar seu sistema.
Criar o projeto do Visual Studio
Para um aplicativo da Plataforma Universal do Windows, no Visual Studio 2022, crie um projeto de Aplicativo em branco (Universal do Windows). Depois de inserir o nome do projeto, fique à 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. O SDK do Aplicativo do Windows versão 1.3 ou posterior é necessário.
Instalar o pacote e as dependências usando o Gerenciador de Pacotes do NuGet
As bibliotecas e as APIs 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, faça o seguinte:
- Abra o Gerenciador de Pacotes do NuGet selecionando Ferramentas>Gerenciador de Pacotes do NuGet>Gerenciar de Pacotes do NuGet para Solução.
- Selecione Procurar e insira 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 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 diferentes pré-processamentos 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 do início da chamada. 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
Você pode aplicar OutgoingAudioFilters
quando uma chamada é iniciada.
Comece criando uma propriedade OutgoingAudioFilters
e transmitindo-a para OutgoingAudioOptions
, conforme mostrado no seguinte código:
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
Você pode aplicar LiveOutgoingAudioFilters
após o início de uma chamada. Você pode recuperar esse objeto do objeto de chamada após o início da chamada. Para alterar a configuração em LiveOutgoingAudioFilters
, defina os membros dentro da classe com um valor válido e eles serão aplicados.
Somente um subconjunto dos filtros disponíveis de OutgoingAudioFilters
estão disponíveis durante uma chamada ativa. 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;