Sesli arama deneyiminize ses kalitesi geliştirmeleri ekleme
ses efektlerinin Azure İletişim Hizmetleri gürültü engelleme özellikleri, istenmeyen arka plan seslerini filtreleyerek sesli aramalarınızı geliştirebilir. Gürültü engelleme, sesli aramalardan gelen arka plan seslerini kaldıran bir teknolojidir. Arka plan gürültüsünü ortadan kaldırmak, konuşmayı ve dinlemeyi kolaylaştırır. Gürültü bastırma, gürültülü yerlerden kaynaklanan dikkat dağıtıcı ve yorgunluğu da azaltabilir. Örneğin, gürültülü bir kafede Azure İletişim Hizmetleri WebJS araması alıyorsanız gürültü engellemeyi açmak arama deneyimini daha iyi hale getirebilir.
Ses efektleri kullanma: Çağrı efektleri npm paketini yükleme
Önemli
Bu öğreticide, Azure İletişim Hizmetleri Çağırma Efektleri SDK'sı sürümü 1.28.4
veya sonraki bir sürümüyle birlikte Azure İletişim Hizmetleri Arama SDK'sı sürümü veya üzeri kullanılmaktadır1.1.2
. Arama SDK'sının genel kullanılabilirlik (GA) kararlı sürümü 1.28.4
ve sonraki sürümleri gürültü engelleme özelliklerini destekler. Alternatif olarak, genel önizleme sürümünü kullanmayı tercih ederseniz SDK sürümlerini çağırma ve daha sonraki sürümler 1.24.2-beta.1
de gürültü engellemeyi destekler.
Ses gürültüsü engelleme efektleri eklemek için geçerli tarayıcı desteği yalnızca Chrome ve Edge masaüstü tarayıcılarında kullanılabilir.
Çağrı efektleri kitaplığı tek başına kullanılamaz. Yalnızca WebJS için Azure İletişim Hizmetleri Çağırma istemci kitaplığıyla kullanıldığında çalışır.
npm install
JavaScript için Azure İletişim Hizmetleri Ses Efektleri SDK'sını yüklemek için komutunu kullanın.
Arama SDK'sının GA sürümünü kullanıyorsanız, Arama Efektleri SDK'sının GA sürümünü kullanmanız gerekir.
@azure/communication-calling-effects/v/latest
Arama SDK'sının genel önizlemesini kullanıyorsanız, Arama Efektleri SDK'sının beta sürümünü kullanmanız gerekir.
@azure/communication-calling-effects/v/next
Gürültü engelleme efektleri kitaplığını yükleme
Ses efektleri özelliklerini ve yöntemlerini ayrıntılarıyla gösteren arabirim hakkında bilgi için Ses Efektleri Özellik arabirimi API'sinin belgeleri sayfasına bakın.
Azure İletişim Hizmetleri Arama SDK'sı içinde gürültü engelleme ses efektlerini kullanmak için şu anda aramada olan özelliğe ihtiyacınız vardırLocalAudioStream
. Ses efektlerini AudioEffects
başlatmak ve durdurmak için özelliğin LocalAudioStream
API'sine erişmeniz gerekir.
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}`);
});
Hangi ses efektlerinin etkin olduğunu denetleyin
Şu anda etkin olan gürültü engelleme etkilerini denetlemek için özelliğini kullanabilirsiniz activeEffects
.
özelliği, activeEffects
geçerli etkin efektlerin adlarını içeren bir nesne döndürür.
// 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
});
Gürültü engelleme otomatik olarak etkinleştirildiğinde bir çağrı başlatma
Gürültü engelleme açıkken bir çağrı başlatabilirsiniz. ile yeni bir özellik oluşturun (LocalAudioStream
kaynak, ses efektlerini kullanmak için ham MediaStream
bir özellik olmamalıdır) ve içinde geçirinCallStartOptions.audioOptions
:LocalAudioStream
AudioDeviceInfo
// 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]
}
});
Devam eden arama sırasında gürültü engellemeyi açma
Bir arama başlatabilir ve gürültü engelleme açık olmayabilir. Ortam gürültülü olabilir, böylece gürültü engellemeyi açmanız gerekir. Gürültü engellemeyi açmak için API'yi audioEffectsFeatureApi.startEffects
kullanabilirsiniz.
// 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
});
İlgili içerik
Genişletilmiş API özelliği ayrıntıları için Ses Efektleri Özellik arabirimi belgeleri sayfasına bakın.
Yerel Arama SDK'ları ile ses filtrelerini yapılandırmayı öğrenin
Azure İletişim Hizmetleri ses efektleri, sesli aramanızı geliştirebilecek filtreler sunar. Yerel platformlar (Android, iOS ve Windows) için aşağıdaki filtreleri yapılandırabilirsiniz.
Yankı iptali
Arayanın sesinin hoparlörden yayıldıktan sonra mikrofona geri yankılanmasından kaynaklanan akustik yankıyı ortadan kaldırabilirsiniz. Yankı iptali net bir iletişim sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Yankı iptali özelliğini yalnızca müzik modu etkinse değiştirebilirsiniz. Bu filtre varsayılan olarak etkindir.
Gürültü engelleme
Yazma, klima veya sokak sesleri gibi istenmeyen arka plan seslerini filtreleyerek ses kalitesini geliştirebilirsiniz. Bu teknoloji, daha etkili iletişimi kolaylaştırmak için sesin net ve net olmasını sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Şu anda kullanılabilir modlar Kapalı, Otomatik, Düşük ve Yüksek'tir. Varsayılan olarak, bu özellik Yüksek olarak ayarlanır.
Otomatik kazanç denetimi
Arama boyunca tutarlı ses düzeyleri sağlamak için mikrofon ses düzeyini otomatik olarak ayarlayabilirsiniz.
- Analog otomatik kazanç denetimi, yalnızca bir çağrıdan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
- Dijital otomatik kazanç denetimi, yalnızca bir aramadan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
Müzik modu
Müzik modu, arama öncesinde ve sırasında kullanılabilen bir filtredir. Müzik modu hakkında daha fazla bilgi edinmek için bkz . Yerel Arama SDK'sı üzerinde Müzik modu. Müzik modu yalnızca bire bir veya grup çağrıları üzerinden yerel platformlarda çalışır. Yerel platformlar ile web arasındaki bire bir çağrılarda çalışmaz. Varsayılan olarak, müzik modu devre dışıdır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan Azure İletişim Hizmetleri kaynağı. bir Azure İletişim Hizmetleri kaynağı oluşturun.
- Çağıran istemciyi etkinleştirmek için kullanıcı erişim belirteci. Daha fazla bilgi için bkz . Erişim belirteçleri oluşturma ve yönetme.
- İsteğe bağlı: Uygulamanıza sesli çağrı eklemek için hızlı başlangıcı tamamlayın.
SDK’yı yükleyin
Proje düzeyi build.gradle
dosyanızı bulun ve ve allprojects
altındaki buildscript
depolar listesine ekleyinmavenCentral()
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Ardından modül düzeyi build.gradle
dosyanızda bölümüne aşağıdaki satırları dependencies
ekleyin:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Gerekli nesneleri başlatma
Örnek CallAgent
oluşturmak için bir örnekte yöntemini CallClient
çağırmanız createCallAgent
gerekir. Bu çağrı zaman uyumsuz olarak bir CallAgent
örnek nesnesi döndürür.
createCallAgent
yöntemi, bir erişim belirtecini kapsülleyen bir bağımsız değişken olarak alırCommunicationUserCredential
.
öğesine erişmek DeviceManager
için önce bir callAgent
örnek oluşturmanız gerekir. Ardından almak için DeviceManager
yöntemini kullanabilirsinizCallClient.getDeviceManager
.
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();
Çağıranın görünen adını ayarlamak için şu alternatif yöntemi kullanın:
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();
Giden sese farklı ses ön işleme seçenekleri uygulamak için ses filtresi özelliğini kullanabilirsiniz. İki tür ses filtresi ve LiveOutgoingAudioFilters
şeklindedirOutgoingAudioFilters
. Arama başlamadan önce ayarları değiştirmek için kullanın OutgoingAudioFilters
. Arama devam ederken ayarları değiştirmek için kullanın LiveOutgoingAudioFilters
.
İlk olarak Çağrı SDK'sını ve ilişkili sınıfları içeri aktarmanız gerekir:
import com.azure.android.communication.calling.OutgoingAudioOptions;
import com.azure.android.communication.calling.OutgoingAudioFilters;
import com.azure.android.communication.calling.LiveOutgoingAudioFilters;
Arama başlamadan önce
Arama başladığında uygulayabilirsiniz OutgoingAudioFilters
.
Aşağıdaki kodda gösterildiği gibi bir OutgoingAudioFilters
özellik oluşturup içine geçirerek OutgoingAudioOptions
başlayın:
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);
Çağrı sırasında
Bir arama başladıktan sonra başvurabilirsiniz LiveOutgoingAudioFilters
. Çağrı sırasında bu nesneyi çağrı nesnesinden alabilirsiniz. içindeki LiveOutgoingAudioFilters
ayarı değiştirmek için sınıfın içindeki üyeleri geçerli bir değere ayarlayın ve uygulanırlar.
Etkin bir çağrı sırasında yalnızca içinden OutgoingAudioFilters
kullanılabilen filtrelerin bir alt kümesi kullanılabilir. Bunlar müzik modu, yankı iptali ve gürültü engelleme modu.
LiveOutgoingAudioFilters filters = call.getLiveOutgoingAudioFilters();
filters.setMusicModeEnabled(false);
filters.setAcousticEchoCancellationEnabled(false);
filters.setNoiseSuppressionMode(NoiseSuppressionMode.HIGH);
Yerel Arama SDK'ları ile ses filtrelerini yapılandırmayı öğrenin
Azure İletişim Hizmetleri ses efektleri, sesli aramanızı geliştirebilecek filtreler sunar. Yerel platformlar (Android, iOS ve Windows) için aşağıdaki filtreleri yapılandırabilirsiniz.
Yankı iptali
Arayanın sesinin hoparlörden yayıldıktan sonra mikrofona geri yankılanmasından kaynaklanan akustik yankıyı ortadan kaldırabilirsiniz. Yankı iptali net bir iletişim sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Yankı iptali özelliğini yalnızca müzik modu etkinse değiştirebilirsiniz. Bu filtre varsayılan olarak etkindir.
Gürültü engelleme
Yazma, klima veya sokak sesleri gibi istenmeyen arka plan seslerini filtreleyerek ses kalitesini geliştirebilirsiniz. Bu teknoloji, daha etkili iletişimi kolaylaştırmak için sesin net ve net olmasını sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Şu anda kullanılabilir modlar Kapalı, Otomatik, Düşük ve Yüksek'tir. Varsayılan olarak, bu özellik Yüksek olarak ayarlanır.
Otomatik kazanç denetimi
Arama boyunca tutarlı ses düzeyleri sağlamak için mikrofon ses düzeyini otomatik olarak ayarlayabilirsiniz.
- Analog otomatik kazanç denetimi, yalnızca bir çağrıdan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
- Dijital otomatik kazanç denetimi, yalnızca bir aramadan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
Müzik modu
Müzik modu, arama öncesinde ve sırasında kullanılabilen bir filtredir. Müzik modu hakkında daha fazla bilgi edinmek için bkz . Yerel Arama SDK'sı üzerinde Müzik modu. Müzik modu yalnızca bire bir veya grup çağrıları üzerinden yerel platformlarda çalışır. Yerel platformlar ile web arasındaki bire bir çağrılarda çalışmaz. Varsayılan olarak, müzik modu devre dışıdır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan Azure İletişim Hizmetleri kaynağı. bir Azure İletişim Hizmetleri kaynağı oluşturun.
- Çağıran istemciyi etkinleştirmek için kullanıcı erişim belirteci. Daha fazla bilgi için bkz . Erişim belirteçleri oluşturma ve yönetme.
- İsteğe bağlı: Uygulamanıza sesli çağrı eklemek için hızlı başlangıcı tamamlayın.
Sisteminizi ayarlama
Sisteminizi ayarlamak için bu adımları izleyin.
Xcode projesini oluşturma
Xcode'da yeni bir iOS projesi oluşturun ve Tek Görünüm Uygulaması şablonunu seçin. Bu makalede SwiftUI çerçevesi kullanılır, bu nedenle Dil'i Swift olarak ve Arabirim'i SwiftUI olarak ayarlamanız gerekir.
Bu makalede testler oluşturacaksınız. Testleri Dahil Et onay kutusunu temizleyebilirsiniz.
CocoaPods kullanarak paketi ve bağımlılıkları yükleme
Uygulamanız için aşağıdaki örnekte olduğu gibi bir Podfile oluşturun:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
pod install
'i çalıştırın.Xcode kullanarak açın
.xcworkspace
.
Mikrofona erişim isteme
Cihazın mikrofona erişmek için kullanarak uygulamanızın bilgi özellik listesini NSMicrophoneUsageDescription
güncelleştirmeniz gerekir. İlişkili değeri, sistemin kullanıcıdan erişim istemek için kullandığı iletişim kutusuna eklenmiş bir dizeye ayarlayın.
Proje ağacının Info.plist girdisine sağ tıklayın ve Kaynak Kodu Olarak>Aç'ı seçin. Üst düzey <dict>
bölüme aşağıdaki satırları ekleyin ve dosyayı kaydedin.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Uygulama çerçevesini ayarlama
Projenizin ContentView.swift
dosyasını açın. Kitaplığı içeri aktarmak AzureCommunicationCalling
için dosyanın en üstüne bir import
bildirim ekleyin. Buna ek olarak, içeri aktar.AVFoundation
Koddaki ses izni istekleri için buna ihtiyacınız vardır.
import AzureCommunicationCalling
import AVFoundation
CallAgent'ı başlatma
öğesinden CallClient
bir CallAgent
örnek oluşturmak için, başlatıldıktan sonra zaman uyumsuz olarak bir nesne döndüren bir CallAgent
yöntem kullanmanız callClient.createCallAgent
gerekir.
Çağrı istemcisi oluşturmak için bir CommunicationTokenCredential
nesne geçirin:
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
Oluşturduğunuz nesneyi öğesine CallClient
geçirin ve görünen adı ayarlayın:
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")
}
})
Giden sese farklı ses ön işleme seçenekleri uygulamak için ses filtresi özelliğini kullanabilirsiniz. İki tür ses filtresi ve LiveOutgoingAudioFilters
şeklindedirOutgoingAudioFilters
. Arama başlamadan önce ayarları değiştirmek için kullanın OutgoingAudioFilters
. Arama devam ederken ayarları değiştirmek için kullanın LiveOutgoingAudioFilters
.
İlk olarak Arama SDK'sını içeri aktarmanız gerekir:
import AzureCommunicationCalling
Arama başlamadan önce
Arama başladığında uygulayabilirsiniz OutgoingAudioFilters
.
Burada gösterildiği gibi bir OutgoingAudioFilters
özellik oluşturup içine geçirerek OutgoingAudioOptions
başlayın:
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
Çağrı sırasında
Bir arama başladıktan sonra başvurabilirsiniz LiveOutgoingAudioFilters
. Çağrı sırasında bu nesneyi çağrı nesnesinden alabilirsiniz. içindeki LiveOutgoingAudioFilters
ayarı değiştirmek için sınıfın içindeki üyeleri geçerli bir değere ayarlayın ve uygulanırlar.
Etkin bir çağrı sırasında yalnızca içinden OutgoingAudioFilters
kullanılabilen filtrelerin bir alt kümesi kullanılabilir. Bunlar müzik modu, yankı iptali ve gürültü engelleme modu.
LiveOutgoingAudioFilters filters = call.liveOutgoingAudioFilters
filters.musicModeEnabled = true
filters.acousticEchoCancellationEnabled = true
filters.NoiseSuppressionMode = NoiseSuppressionMode.high
Yerel Arama SDK'ları ile ses filtrelerini yapılandırmayı öğrenin
Azure İletişim Hizmetleri ses efektleri, sesli aramanızı geliştirebilecek filtreler sunar. Yerel platformlar (Android, iOS ve Windows) için aşağıdaki filtreleri yapılandırabilirsiniz.
Yankı iptali
Arayanın sesinin hoparlörden yayıldıktan sonra mikrofona geri yankılanmasından kaynaklanan akustik yankıyı ortadan kaldırabilirsiniz. Yankı iptali net bir iletişim sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Yankı iptali özelliğini yalnızca müzik modu etkinse değiştirebilirsiniz. Bu filtre varsayılan olarak etkindir.
Gürültü engelleme
Yazma, klima veya sokak sesleri gibi istenmeyen arka plan seslerini filtreleyerek ses kalitesini geliştirebilirsiniz. Bu teknoloji, daha etkili iletişimi kolaylaştırmak için sesin net ve net olmasını sağlar.
Aramadan önce ve çağrı sırasında filtreyi yapılandırabilirsiniz. Şu anda kullanılabilir modlar Kapalı, Otomatik, Düşük ve Yüksek'tir. Varsayılan olarak, bu özellik Yüksek olarak ayarlanır.
Otomatik kazanç denetimi
Arama boyunca tutarlı ses düzeyleri sağlamak için mikrofon ses düzeyini otomatik olarak ayarlayabilirsiniz.
- Analog otomatik kazanç denetimi, yalnızca bir çağrıdan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
- Dijital otomatik kazanç denetimi, yalnızca bir aramadan önce kullanılabilen bir filtredir. Bu filtre varsayılan olarak etkindir.
Müzik modu
Müzik modu, arama öncesinde ve sırasında kullanılabilen bir filtredir. Müzik modu hakkında daha fazla bilgi edinmek için bkz . Yerel Arama SDK'sı üzerinde Müzik modu. Müzik modu yalnızca bire bir veya grup çağrıları üzerinden yerel platformlarda çalışır. Yerel platformlar ile web arasındaki bire bir çağrılarda çalışmaz. Varsayılan olarak, müzik modu devre dışıdır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan Azure İletişim Hizmetleri kaynağı. bir Azure İletişim Hizmetleri kaynağı oluşturun.
- Çağıran istemciyi etkinleştirmek için kullanıcı erişim belirteci. Daha fazla bilgi için bkz . Erişim belirteçleri oluşturma ve yönetme.
- İsteğe bağlı: Uygulamanıza sesli çağrı eklemek için hızlı başlangıcı tamamlayın.
Sisteminizi ayarlama
Sisteminizi ayarlamak için bu adımları izleyin.
Visual Studio projesini oluşturma
Evrensel Windows Platformu bir uygulama için Visual Studio 2022'de yeni bir Boş Uygulama (Evrensel Windows) projesi oluşturun. Proje adını girdikten sonra, 10.0.17763.0'dan sonraki bir Windows SDK'sını seçebilirsiniz.
WinUI 3 uygulaması için, tek sayfalı bir WinUI 3 uygulaması ayarlamak için Boş Uygulama, Paketlenmiş (Masaüstünde WinUI 3) şablonuyla yeni bir proje oluşturun. Windows Uygulama SDK'sı sürüm 1.3 veya üzeri gereklidir.
NuGet Paket Yöneticisi kullanarak paketi ve bağımlılıkları yükleme
Arama SDK'sı API'leri ve kitaplıkları bir NuGet paketi aracılığıyla genel kullanıma sunulur.
Arama SDK'sı NuGet paketini bulmak, indirmek ve yüklemek için:
- Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
- Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
- Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
- Azure.Communication.Calling.WindowsClient paketini ve ardından Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 veya daha yeni bir sürümü seçin.
- Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
- Yükle'yi seçin.
Giden sese farklı bir ön işleme uygulamak için ses filtresi özelliğini kullanabilirsiniz. İki tür ses filtresi ve LiveOutgoingAudioFilters
şeklindedirOutgoingAudioFilters
. Arama başlamadan önce ayarları değiştirmek için kullanın OutgoingAudioFilters
. Arama devam ederken ayarları değiştirmek için kullanın LiveOutgoingAudioFilters
.
İlk olarak Arama SDK'sını içeri aktarmanız gerekir:
using Azure.Communication;
using Azure.Communication.Calling.WindowsClient;
Arama başlamadan önce
Arama başladığında uygulayabilirsiniz OutgoingAudioFilters
.
Aşağıdaki kodda gösterildiği gibi bir OutgoingAudioFilters
özellik oluşturup içine geçirerek OutgoingAudioOptions
başlayın:
var outgoingAudioOptions = new OutgoingAudioOptions();
var filters = new OutgoingAudioFilters()
{
AnalogAutomaticGainControlEnabled = true,
DigitalAutomaticGainControlEnabled = true,
MusicModeEnabled = true,
AcousticEchoCancellationEnabled = true,
NoiseSuppressionMode = NoiseSuppressionMode.High
};
outgoingAudioOptions.Filters = filters;
Çağrı sırasında
Bir arama başladıktan sonra başvurabilirsiniz LiveOutgoingAudioFilters
. Çağrı başladıktan sonra bu nesneyi çağrı nesnesinden alabilirsiniz. içindeki LiveOutgoingAudioFilters
ayarı değiştirmek için sınıfın içindeki üyeleri geçerli bir değere ayarlayın ve uygulanırlar.
Etkin bir çağrı sırasında yalnızca içinden OutgoingAudioFilters
kullanılabilen filtrelerin bir alt kümesi kullanılabilir. Bunlar müzik modu, yankı iptali ve gürültü engelleme modu.
LiveOutgoingAudioFilters filter = call.LiveOutgoingAudioFilters;
filter.MusicModeEnabled = true;
filter.AcousticEchoCancellationEnabled = true;
filter.NoiseSuppressionMode = NoiseSuppressionMode.Auto;