Dodawanie ulepszeń jakości dźwięku do środowiska połączeń audio
Możliwości pomijania szumu w usługach Azure Communication Services mogą poprawić wywołania audio przez filtrowanie niepożądanych szumów w tle. Tłumienie szumu to technologia, która usuwa szumy tła z wywołań dźwiękowych. Wyeliminowanie szumu tła ułatwia rozmowę i słuchanie. Tłumienie szumu może również zmniejszyć rozproszenie uwagi i zmęczenie spowodowane hałaśliwymi miejscami. Jeśli na przykład wykonujesz wywołanie webJS usług Azure Communication Services w hałaśliwym kawiarni, włączenie tłumienia szumu może poprawić środowisko wywołania.
Używanie efektów dźwiękowych: instalowanie pakietu npm efektów wywołujących
Ważne
Ten samouczek korzysta z wersji zestawu SDK wywoływania usług Azure Communication Services lub nowszej wraz z wersją 1.28.4
1.1.2
zestawu SDK wywołania usług Azure Communication Services lub nowszą. Ogólnie dostępna wersja stabilna i nowsza wersja 1.28.4
zestawu Sdk wywołującego obsługują funkcje pomijania szumów. Alternatywnie, jeśli zdecydujesz się korzystać z publicznej wersji zapoznawczej, wywoływanie wersji 1.24.2-beta.1
zestawu SDK i nowszych również obsługuje tłumienie szumu.
Bieżąca obsługa przeglądarki na potrzeby dodawania efektów pomijania szumu audio jest dostępna tylko w przeglądarkach klasycznych Chrome i Edge.
Biblioteka efektów wywołujących nie może być używana autonomicznie. Działa tylko wtedy, gdy jest używana z biblioteką klienta wywołującą usługi Azure Communication Services dla usługi WebJS.
Użyj polecenia , npm install
aby zainstalować zestaw SDK efektów dźwiękowych usług Azure Communication Services dla języka JavaScript.
Jeśli używasz ogólnie dostępnej wersji zestawu SDK wywołującego, musisz użyć ogólnie dostępnej wersji zestawu SDK efektów wywołujących.
@azure/communication-calling-effects/v/latest
Jeśli używasz publicznej wersji zapoznawczej zestawu Calling SDK, musisz użyć wersji beta zestawu SDK wywołującego efekty.
@azure/communication-calling-effects/v/next
Ładowanie biblioteki efektów pomijania szumu
Aby uzyskać informacje na temat interfejsu, który zawiera szczegółowe informacje o właściwościach i metodach efektów dźwiękowych, zobacz stronę dokumentacji interfejsu API interfejsu API funkcji efektów dźwiękowych.
Aby użyć efektów dźwiękowych pomijania szumu w zestawie SDK wywołującym usługi Azure Communication Services, potrzebujesz LocalAudioStream
właściwości, która jest obecnie w wywołaniu. Aby uruchomić i zatrzymać efekty dźwiękowe, musisz mieć dostęp do interfejsu AudioEffects
LocalAudioStream
API właściwości .
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}`);
});
Sprawdzanie, jakie efekty dźwiękowe są aktywne
Aby sprawdzić, jakie efekty tłumienia szumu są obecnie aktywne, możesz użyć activeEffects
właściwości .
Właściwość activeEffects
zwraca obiekt z nazwami bieżących aktywnych efektów.
// 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
});
Uruchamianie wywołania z automatycznym pomijaniem szumu
Możesz rozpocząć wywołanie z włączonym pomijaniem szumu. Utwórz nową LocalAudioStream
właściwość za AudioDeviceInfo
pomocą polecenia ( LocalAudioStream
źródło nie powinno być właściwością raw MediaStream
do używania efektów dźwiękowych) i przekaż ją w pliku 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]
}
});
Włączanie tłumienia szumu podczas trwającego wywołania
Możesz uruchomić wywołanie i nie włączyć pomijania szumu. Środowisko może być hałaśliwe, aby trzeba było włączyć tłumienie szumu. Aby włączyć pomijanie szumu, możesz użyć interfejsu 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
});
Powiązana zawartość
Zobacz stronę dokumentacji interfejsu funkcji Audio Effects, aby uzyskać szczegółowe informacje o rozszerzonych funkcjach interfejsu API.
Dowiedz się, jak skonfigurować filtry audio przy użyciu natywnych zestawów SDK wywoływania
Efekty dźwiękowe usług Azure Communication Services oferują filtry, które mogą poprawić połączenie audio. W przypadku platform natywnych (Android, iOS i Windows) można skonfigurować następujące filtry.
Anulowanie echa
Możesz wyeliminować echo akustyczne spowodowane przez głos dzwoniącego, który odbija się z powrotem do mikrofonu po jego emisji z głośnika. Anulowanie echa zapewnia wyraźną komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Anulowanie echa można przełączać tylko wtedy, gdy jest włączony tryb muzyki. Domyślnie ten filtr jest włączony.
Tłumienie szumów
Jakość dźwięku można poprawić, filtrując niechciane szumy tła, takie jak wpisywanie, klimatyzacja lub dźwięki uliczne. Technologia ta zapewnia, że głos jest ostry i jasny, aby ułatwić skuteczniejszą komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Obecnie dostępne tryby to Wyłączone, Automatyczne, Niskie i Wysokie. Domyślnie ta funkcja jest ustawiona na Wartość Wysoka.
Automatyczna kontrola nad przyrostem
Możesz automatycznie dostosować głośność mikrofonu, aby zapewnić spójne poziomy dźwięku w całym wywołaniu.
- Analog automatyczna kontrola przyrostka jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
- Cyfrowe automatyczne sterowanie przyrostkiem jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
Tryb muzyki
Tryb muzyki to filtr dostępny przed i podczas połączenia. Aby dowiedzieć się więcej na temat trybu muzycznego, zobacz Tryb muzyki w zestawie SDK natywnych wywołań. Tryb muzyki działa tylko na platformach natywnych za pośrednictwem wywołań jeden na jeden lub grup. Nie działa w wywołaniach "jeden do jednego" między platformami natywnymi i siecią Web. Domyślnie tryb muzyki jest wyłączony.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług Azure Communication Services. Utwórz zasób usług Azure Communication Services.
- Token dostępu użytkownika umożliwiający włączenie klienta wywołującego. Aby uzyskać więcej informacji, zobacz Tworzenie tokenów dostępu i zarządzanie nimi.
- Opcjonalnie: ukończ przewodnik Szybki start, aby dodać połączenie głosowe do aplikacji.
Instalacja zestawu SDK
Znajdź plik na poziomie build.gradle
projektu i dodaj mavenCentral()
go do listy repozytoriów w obszarze buildscript
i allprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Następnie w pliku na poziomie build.gradle
modułu dependencies
dodaj następujące wiersze do sekcji:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Inicjowanie wymaganych obiektów
Aby utworzyć CallAgent
wystąpienie, należy wywołać createCallAgent
metodę w wystąpieniu CallClient
. To wywołanie asynchroniczne zwraca CallAgent
obiekt wystąpienia.
Metoda createCallAgent
przyjmuje CommunicationUserCredential
jako argument, który hermetyzuje token dostępu.
Aby uzyskać dostęp, DeviceManager
należy najpierw utworzyć callAgent
wystąpienie. Następnie możesz użyć metody , aby pobrać metodę CallClient.getDeviceManager
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();
Aby ustawić nazwę wyświetlaną elementu wywołującego, użyj tej alternatywnej metody:
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();
Możesz użyć funkcji filtru audio, aby zastosować różne opcje przetwarzania wstępnego audio do wychodzącego dźwięku. Istnieją dwa typy filtrów OutgoingAudioFilters
audio i LiveOutgoingAudioFilters
. Użyj polecenia OutgoingAudioFilters
, aby zmienić ustawienia przed rozpoczęciem wywołania. Użyj LiveOutgoingAudioFilters
polecenia , aby zmienić ustawienia, gdy wywołanie jest w toku.
Najpierw należy zaimportować zestaw SDK wywoływania i skojarzone klasy:
import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;
Przed rozpoczęciem połączenia
Można zastosować OutgoingAudioFilters
podczas uruchamiania wywołania.
Zacznij od utworzenia OutgoingAudioFilters
właściwości i przekazania jej do OutgoingAudioOptions
elementu , jak pokazano w poniższym kodzie:
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);
W trakcie rozmowy telefonicznej
Można zastosować po LiveOutgoingAudioFilters
rozpoczęciu połączenia. Ten obiekt można pobrać z obiektu wywołania podczas wywołania. Aby zmienić ustawienie w LiveOutgoingAudioFilters
pliku , ustaw elementy członkowskie wewnątrz klasy na prawidłową wartość i są one stosowane.
Podczas aktywnego wywołania jest dostępny tylko podzbiór dostępnych filtrów OutgoingAudioFilters
. Są one trybem muzycznym, anulowaniem echa i trybem pomijania szumu.
LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
Dowiedz się, jak skonfigurować filtry audio przy użyciu natywnych zestawów SDK wywoływania
Efekty dźwiękowe usług Azure Communication Services oferują filtry, które mogą poprawić połączenie audio. W przypadku platform natywnych (Android, iOS i Windows) można skonfigurować następujące filtry.
Anulowanie echa
Możesz wyeliminować echo akustyczne spowodowane przez głos dzwoniącego, który odbija się z powrotem do mikrofonu po jego emisji z głośnika. Anulowanie echa zapewnia wyraźną komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Anulowanie echa można przełączać tylko wtedy, gdy jest włączony tryb muzyki. Domyślnie ten filtr jest włączony.
Tłumienie szumów
Jakość dźwięku można poprawić, filtrując niechciane szumy tła, takie jak wpisywanie, klimatyzacja lub dźwięki uliczne. Technologia ta zapewnia, że głos jest ostry i jasny, aby ułatwić skuteczniejszą komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Obecnie dostępne tryby to Wyłączone, Automatyczne, Niskie i Wysokie. Domyślnie ta funkcja jest ustawiona na Wartość Wysoka.
Automatyczna kontrola nad przyrostem
Możesz automatycznie dostosować głośność mikrofonu, aby zapewnić spójne poziomy dźwięku w całym wywołaniu.
- Analog automatyczna kontrola przyrostka jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
- Cyfrowe automatyczne sterowanie przyrostkiem jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
Tryb muzyki
Tryb muzyki to filtr dostępny przed i podczas połączenia. Aby dowiedzieć się więcej na temat trybu muzycznego, zobacz Tryb muzyki w zestawie SDK natywnych wywołań. Tryb muzyki działa tylko na platformach natywnych za pośrednictwem wywołań jeden na jeden lub grup. Nie działa w wywołaniach "jeden do jednego" między platformami natywnymi i siecią Web. Domyślnie tryb muzyki jest wyłączony.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług Azure Communication Services. Utwórz zasób usług Azure Communication Services.
- Token dostępu użytkownika umożliwiający włączenie klienta wywołującego. Aby uzyskać więcej informacji, zobacz Tworzenie tokenów dostępu i zarządzanie nimi.
- Opcjonalnie: ukończ przewodnik Szybki start, aby dodać połączenie głosowe do aplikacji.
Konfigurowanie systemu
Wykonaj następujące kroki, aby skonfigurować system.
Tworzenie projektu Xcode
W programie Xcode utwórz nowy projekt systemu iOS i wybierz szablon Aplikacja z jednym widokiem. W tym artykule jest używana struktura SwiftUI, dlatego należy ustawić wartość Language na Swift i ustawić wartość Interface na SwiftUI.
Nie zamierzasz tworzyć testów w tym artykule. Możesz wyczyścić pole wyboru Uwzględnij testy .
Instalowanie pakietu i zależności przy użyciu narzędzia CocoaPods
Utwórz plik Podfile dla aplikacji, podobnie jak w tym przykładzie:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Uruchom program
pod install
.Otwórz
.xcworkspace
za pomocą programu Xcode.
Żądanie dostępu do mikrofonu
Aby uzyskać dostęp do mikrofonu urządzenia, należy zaktualizować listę właściwości informacji aplikacji przy użyciu polecenia NSMicrophoneUsageDescription
. Ustaw skojarzona wartość na ciąg zawarty w oknie dialogowym używanym przez system do żądania dostępu od użytkownika.
Kliknij prawym przyciskiem myszy wpis Info.plist drzewa projektu, a następnie wybierz pozycję Otwórz jako>kod źródłowy. Dodaj następujące wiersze w sekcji najwyższego poziomu <dict>
, a następnie zapisz plik.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Konfigurowanie struktury aplikacji
Otwórz plik projektu ContentView.swift
. Dodaj deklarację import
na początku pliku, aby zaimportować bibliotekę AzureCommunicationCalling
. Ponadto zaimportuj plik AVFoundation
. Potrzebne są żądania uprawnień dźwięku w kodzie.
import AzureCommunicationCalling
import AVFoundation
Inicjowanie klasy CallAgent
Aby utworzyć CallAgent
wystąpienie z CallClient
klasy , należy użyć callClient.createCallAgent
metody, która asynchronicznie zwraca CallAgent
obiekt po zainicjowaniu.
Aby utworzyć klienta wywołania, przekaż CommunicationTokenCredential
obiekt:
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)
}
CommunicationTokenCredential
Przekaż utworzony obiekt do CallClient
, a następnie ustaw nazwę wyświetlaną:
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")
}
})
Możesz użyć funkcji filtru audio, aby zastosować różne opcje przetwarzania wstępnego audio do wychodzącego dźwięku. Istnieją dwa typy filtrów OutgoingAudioFilters
audio i LiveOutgoingAudioFilters
. Użyj polecenia OutgoingAudioFilters
, aby zmienić ustawienia przed rozpoczęciem wywołania. Użyj LiveOutgoingAudioFilters
polecenia , aby zmienić ustawienia, gdy wywołanie jest w toku.
Najpierw należy zaimportować zestaw SDK wywołujący:
import AzureCommunicationCalling
Przed rozpoczęciem połączenia
Można zastosować OutgoingAudioFilters
podczas uruchamiania wywołania.
Zacznij od utworzenia OutgoingAudioFilters
właściwości i przekazania jej do OutgoingAudioOptions
elementu , jak pokazano poniżej:
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
W trakcie rozmowy telefonicznej
Można zastosować po LiveOutgoingAudioFilters
rozpoczęciu połączenia. Ten obiekt można pobrać z obiektu wywołania podczas wywołania. Aby zmienić ustawienie w LiveOutgoingAudioFilters
pliku , ustaw elementy członkowskie wewnątrz klasy na prawidłową wartość i są one stosowane.
Podczas aktywnego wywołania jest dostępny tylko podzbiór dostępnych filtrów OutgoingAudioFilters
. Są one trybem muzycznym, anulowaniem echa i trybem pomijania szumu.
LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
Dowiedz się, jak skonfigurować filtry audio przy użyciu natywnych zestawów SDK wywoływania
Efekty dźwiękowe usług Azure Communication Services oferują filtry, które mogą poprawić połączenie audio. W przypadku platform natywnych (Android, iOS i Windows) można skonfigurować następujące filtry.
Anulowanie echa
Możesz wyeliminować echo akustyczne spowodowane przez głos dzwoniącego, który odbija się z powrotem do mikrofonu po jego emisji z głośnika. Anulowanie echa zapewnia wyraźną komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Anulowanie echa można przełączać tylko wtedy, gdy jest włączony tryb muzyki. Domyślnie ten filtr jest włączony.
Tłumienie szumów
Jakość dźwięku można poprawić, filtrując niechciane szumy tła, takie jak wpisywanie, klimatyzacja lub dźwięki uliczne. Technologia ta zapewnia, że głos jest ostry i jasny, aby ułatwić skuteczniejszą komunikację.
Filtr można skonfigurować przed wywołaniem i podczas jego wywołania. Obecnie dostępne tryby to Wyłączone, Automatyczne, Niskie i Wysokie. Domyślnie ta funkcja jest ustawiona na Wartość Wysoka.
Automatyczna kontrola nad przyrostem
Możesz automatycznie dostosować głośność mikrofonu, aby zapewnić spójne poziomy dźwięku w całym wywołaniu.
- Analog automatyczna kontrola przyrostka jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
- Cyfrowe automatyczne sterowanie przyrostkiem jest filtrem dostępnym tylko przed wywołaniem. Domyślnie ten filtr jest włączony.
Tryb muzyki
Tryb muzyki to filtr dostępny przed i podczas połączenia. Aby dowiedzieć się więcej na temat trybu muzycznego, zobacz Tryb muzyki w zestawie SDK natywnych wywołań. Tryb muzyki działa tylko na platformach natywnych za pośrednictwem wywołań jeden na jeden lub grup. Nie działa w wywołaniach "jeden do jednego" między platformami natywnymi i siecią Web. Domyślnie tryb muzyki jest wyłączony.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług Azure Communication Services. Utwórz zasób usług Azure Communication Services.
- Token dostępu użytkownika umożliwiający włączenie klienta wywołującego. Aby uzyskać więcej informacji, zobacz Tworzenie tokenów dostępu i zarządzanie nimi.
- Opcjonalnie: ukończ przewodnik Szybki start, aby dodać połączenie głosowe do aplikacji.
Konfigurowanie systemu
Wykonaj następujące kroki, aby skonfigurować system.
Tworzenie projektu programu Visual Studio
W przypadku aplikacji platforma uniwersalna systemu Windows w programie Visual Studio 2022 utwórz nowy projekt Pusta aplikacja (uniwersalny system Windows). Po wprowadzeniu nazwy projektu możesz wybrać dowolny zestaw Windows SDK nowszy niż 10.0.17763.0.
W przypadku aplikacji WinUI 3 utwórz nowy projekt z pustą aplikacją, spakowanym szablonem (WinUI 3 w programie Desktop), aby skonfigurować jednostronicową aplikację WinUI 3. Wymagany jest zestaw Windows App SDK w wersji 1.3 lub nowszej.
Instalowanie pakietu i zależności przy użyciu Menedżer pakietów NuGet
Interfejsy API i biblioteki zestawu SDK wywołujących są publicznie dostępne za pośrednictwem pakietu NuGet.
Aby znaleźć, pobrać i zainstalować pakiet NuGet zestawu SDK wywołującego:
- Otwórz Menedżer pakietów NuGet, wybierając pozycję Narzędzia>NuGet Menedżer pakietów> Zarządzanie pakietami NuGet dla rozwiązania.
- Wybierz pozycję Przeglądaj, a następnie wprowadź ciąg Azure.Communication.Calling.WindowsClient w polu wyszukiwania.
- Upewnij się, że pole wyboru Uwzględnij wersję wstępną zostało zaznaczone.
- Wybierz pakiet Azure.Communication.Calling.WindowsClient, a następnie wybierz pozycję Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 lub nowszą wersję.
- Zaznacz pole wyboru odpowiadające projektowi usług Azure Communication Services w okienku po prawej stronie.
- Wybierz Zainstaluj.
Możesz użyć funkcji filtru audio, aby zastosować różne wstępne przetwarzanie audio do wychodzącego dźwięku. Istnieją dwa typy filtrów OutgoingAudioFilters
audio i LiveOutgoingAudioFilters
. Użyj polecenia OutgoingAudioFilters
, aby zmienić ustawienia przed rozpoczęciem wywołania. Użyj LiveOutgoingAudioFilters
polecenia , aby zmienić ustawienia, gdy wywołanie jest w toku.
Najpierw należy zaimportować zestaw SDK wywołujący:
using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;
Przed rozpoczęciem połączenia
Można zastosować OutgoingAudioFilters
podczas uruchamiania wywołania.
Zacznij od utworzenia OutgoingAudioFilters
właściwości i przekazania jej do OutgoingAudioOptions
elementu , jak pokazano w poniższym kodzie:
var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
AnalogAutomaticGainControlEnabled = true,
DigitalAutomaticGainControlEnabled = true,
MusicModeEnabled = true,
AcousticEchoCancellationEnabled = true,
NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;
W trakcie rozmowy telefonicznej
Można zastosować po LiveOutgoingAudioFilters
rozpoczęciu połączenia. Ten obiekt można pobrać z obiektu wywołania po rozpoczęciu wywołania. Aby zmienić ustawienie w LiveOutgoingAudioFilters
pliku , ustaw elementy członkowskie wewnątrz klasy na prawidłową wartość i są one stosowane.
Podczas aktywnego wywołania jest dostępny tylko podzbiór dostępnych filtrów OutgoingAudioFilters
. Są one trybem muzycznym, anulowaniem echa i trybem pomijania szumu.
LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;