Aracılığıyla paylaş


Yerel yetenekleri edinme

Arama sırasında katılımcının videoyu açma, mikrofonu açma veya ekranı paylaşma izni var mı?

Bu izinler, yetenekler API'sinin işleminden öğrenebileceğiniz katılımcı özelliklerine örnektir. Özellikleri kullanarak yalnızca yerel kullanıcının gerçekleştirebileceği eylemlerle ilgili düğmeleri gösteren bir kullanıcı arabirimi oluşturabilirsiniz.

Önkoşullar

SDK’yı yükleyin

npm install komutunu kullanarak JavaScript için Azure İletişim Hizmetleri Common ve Calling SDK'sını yükleyin.

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Gerekli nesneleri başlatma

CallClient Çoğu çağrı işlemi için bir örnek gereklidir. Yeni bir CallClient örneği oluşturduğunuzda, onu Logger örneği gibi özel seçeneklerle yapılandırabilirsiniz.

CallClient örneği ile, CallAgent'yi çağırarak bir createCallAgent örneği oluşturabilirsiniz. Bu yöntem zaman uyumsuz olarak bir CallAgent örnek nesnesi döndürür.

createCallAgent yöntemi, CommunicationTokenCredential'yi bağımsız değişken olarak kullanır. Kullanıcı erişim belirtecini kabul eder.

getDeviceManager örneği üzerinde CallClient yöntemini kullanarak deviceManager öğesine erişebilirsiniz.

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()

Microsoft altyapısına SDK bağlantısını yönetme

Örnek, Call Agent çağrıları yönetmenize yardımcı olur (aramalara katılmak veya çağrıları başlatmak için). Arama SDK'nızın çalışması için gelen aramaların bildirimlerini almak ve diğer arama ayrıntılarını koordine etmek için Microsoft altyapısına bağlanması gerekir. Call Agent iki olası duruma sahiptir.

Bağlı - Call Agent connectionStatue değeri Connected , istemci SDK'sının bağlı olduğu ve Microsoft altyapısından bildirim alabilen olduğu anlamına gelir.

Bağlantısı kesildi - Call Agent bağlantıDurumu değeri, SDK'nın düzgün bağlanmasını engelleyen bir sorun olduğunu belirtir. Call Agent yeniden oluşturulmalıdır.

  • invalidToken: Belirtecin süresi dolduysa veya geçersizse, Call Agent örneği bu hatayla bağlantıyı keser.
  • connectionIssue: İstemcinin Microsoft altyapısına bağlanmasıyla ilgili bir sorun varsa, birçok yeniden denemeden sonra Call AgentconnectionIssue hatasını ortaya çıkarır.

Yerel Call Agent'nizin Microsoft altyapısına bağlı olup olmadığını, connectionState özelliğinin geçerli değerine bakarak denetleyebilirsiniz. Etkin bir çağrı sırasında connectionStateChanged olayını dinleyerek, Call Agent durumundan Bağlantısız durumuna değişiklik olup olmadığını belirleyebilirsiniz.

const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'

const connectionStateCallback = (args) => {
    console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
    // it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);

Özellikleri görüntüleme özelliği, çekirdek Call API'nin genişletilmiş bir özelliğidir. Geçerli çağrıda yerel katılımcının özelliklerini edinmenizi sağlar.

Bu özellik, özellik değişikliklerini dinlemek için bir olay dinleyicisine kaydolmanızı sağlar.

Yetenekler özelliğini alma

const capabilitiesFeature = this.call.feature(Features.Capabilities);

Yerel katılımcının özelliklerini alma

capabilities nesnesi yerel katılımcıların özelliklerine sahiptir ve türündedir ParticipantCapabilities. Yetkinliklerin özellikleri şunlardır:

  • isPresent , bir özelliğin mevcut olup olmadığını gösterir.
  • nedeni , yetenek çözümleme nedenini gösterir.
const capabilities =  capabilitiesFeature.capabilities;

Olaya abone olun capabilitiesChanged :

capabilitiesFeature.on('capabilitiesChanged', (capabilitiesChangeInfo) => {
    for (const [key, value] of Object.entries(capabilitiesChangeInfo.newValue)) {
        if(key === 'turnVideoOn' && value.reason != 'FeatureNotSupported') {
             (value.isPresent) ? this.setState({ canOnVideo: true }) : this.setState({ canOnVideo: false });
             continue;
        }
        if(key === 'unmuteMic' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canUnMuteMic: true }) : this.setState({ canUnMuteMic: false });
            continue;
        }
        if(key === 'shareScreen' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canShareScreen: true }) : this.setState({ canShareScreen: false });
            continue;
        }
        if(key === 'spotlightParticipant' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canSpotlight: true }) : this.setState({ canSpotlight: false });
            continue;
        }
        if(key === 'raiseHand' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canRaiseHands: true }) : this.setState({ canRaiseHands: false });
            continue;
        }
        if(key === 'muteOthers' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canMuteOthers: true }) : this.setState({ canMuteOthers: false });
            continue;
        }
        if(key === 'reaction' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canReact: true }) : this.setState({ canReact: false });
            continue;
        }
        if(key === 'forbidOthersAudio' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canForbidOthersAudio: true }) : this.setState({ canForbidOthersAudio: false });
            continue;
        }
        if(key === 'forbidOthersVideo' && value.reason != 'FeatureNotSupported') {
            (value.isPresent) ? this.setState({ canForbidOthersVideo: true }) : this.setState({ canForbidOthersVideo: false });
            continue;
        }
    }
});

Ortaya Çıkarılan Yetenekler

  • turnVideoOn: Videoyu açabilme
  • unmuteMic: Ses gönderebilme
  • shareScreen: Ekranı paylaşma özelliği
  • removeParticipant: Katılımcıyı kaldırma özelliği
  • hangUpForEveryOne: Herkes için kapatma yeteneği
  • addCommunicationUser: İletişim kullanıcısı ekleme özelliği
  • addTeamsUser: Teams Kullanıcısı ekleme özelliği
  • addPhoneNumber: Telefon numarası ekleme özelliği
  • manageLobby: Lobiyi yönetme özelliği (yalnızca beta)
  • spotlightParticipant: Katılımcıyı öne çıkarma özelliği (yalnızca beta)
  • removeParticipantsSpotlight: Katılımcı spotlarını kaldırma özelliği (yalnızca beta)
  • startLiveCaptions: Canlı açıklamalı alt yazıları başlatabilme (yalnızca beta)
  • stopLiveCaptions: Canlı açıklamalı alt yazıları durdurma özelliği (yalnızca beta)
  • raiseHand: El kaldırma özelliği (yalnızca beta)
  • muteOthers: Toplantıda uzak katılımcıların sesini geçici olarak kapatma özelliği
  • tepki: Toplantıda tepki verme yeteneği (yalnızca beta)
  • viewAttendeeNames: Toplantıda katılımcı adlarını görüntüleme olanağı
  • forbidOthersAudio: Toplantı veya grup aramasında katılımcıların sesini yasaklayabilme
  • forbidOthersVideo: Toplantı veya grup aramasında katılımcıların videosunu yasaklayabilme

SDK’yı yükleyin

Proje düzeyi build.gradle dosyanızı bulun ve mavenCentral() altındaki buildscript depolar listesine ekleyin: allprojects

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

Ardından modül düzeyi build.gradle dosyanızda dependencies bölümüne aşağıdaki satırları ekleyin:

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

Gerekli nesneleri başlatma

Bir CallAgent örneği oluşturmak için, bir createCallAgent örneği üzerinde CallClient yöntemini çağırmanız gerekir. Bu çağrı zaman uyumsuz olarak bir CallAgent örnek nesnesi döndürür.

createCallAgent yöntemi, CommunicationUserCredential bir bağımsız değişken olarak alır.

DeviceManager öğesine erişmek için önce bir callAgent örneği oluşturmanız gerekir. Ardından CallClient.getDeviceManager elde etmek için DeviceManager yöntemini kullanabilirsiniz.

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();

Özellikleri görüntüleme özelliği, çekirdek Call API'nin genişletilmiş bir özelliğidir. Geçerli çağrıda yerel katılımcının özelliklerini edinmenizi sağlar.

Bu özellik, özellik değişikliklerini dinlemek için bir olay dinleyicisine kaydolmanızı sağlar.

Windows için yetenek çağrısı özelliğini kullanmak için ilk adım, yetenek özelliği API nesnesini almaktır:

Yetenekler özelliğini alma

private CapabilitiesCallFeature capabilitiesCallFeature;
capabilitiesCallFeature = call.feature(Features.CAPABILITIES);

Yerel katılımcının özelliklerini alma

capabilities nesnesi yerel katılımcıların özelliklerine sahiptir ve türündedir ParticipantCapability. Yetkinliklerin özellikleri şunlardır:

  • isAllowed , bir özelliğin kullanılıp kullanılamayabileceğini gösterir.
  • nedeni , yetenek çözümleme nedenini gösterir.
List<ParticipantCapability> capabilities = capabilitiesCallFeature.getCapabilities();

Olaya abone olma capabilitiesChanged


capabilitiesCallFeature.addOnCapabilitiesChangedListener(this::OnCapabilitiesChanged);

private void OnCapabilitiesChanged(CapabilitiesChangedEvent args)
{
    String event = String.format("Capabilities Event: %s", args.getReason().toString());
    Log.i("CapabilitiesInfo", event);
    for (ParticipantCapability capability : args.getChangedCapabilities())
    {
        Log.i("CapabilitiesInfo", capability.getType().toString() + " is " capability.getReason().toString());
    }
}

Ortaya Çıkarılan Yetenekler

  • TurnVideoOn: Videoyu açabilme
  • UnmuteMicrophone: Mikrofonu açma özelliği
  • ShareScreen: Ekranı paylaşma özelliği
  • RemoveParticipant: Katılımcıyı kaldırma özelliği
  • HangUpForEveryone: Herkes için aramayı sonlandırma yeteneği
  • AddCommunicationUser: İletişim kullanıcısı ekleme özelliği
  • AddTeamsUser: Teams Kullanıcısı ekleme özelliği
  • AddPhoneNumber: Telefon numarası ekleme özelliği
  • ManageLobby: Lobiyi yönetebilme
  • SpotlightParticipant: Katılımcıyı öne çıkarma özelliği
  • RemoveParticipantSpotlight: Katılımcı spotlarını kaldırma özelliği
  • BlurBackground: Arka planı bulanıklaştırma özelliği
  • CustomBackground: Özel arka plan uygulama özelliği
  • StartLiveCaptions: Canlı açıklamalı alt yazıları başlatabilme
  • RaiseHand: El kaldırma özelliği
  • MuteOthers: Toplantıdaki uzak katılımcıların sessize alma özelliği

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, "Blank App, Packaged (WinUI 3 in Desktop)" şablonunu kullanarak tek sayfalı bir WinUI 3 uygulaması ayarlamak amacıyla 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:

  1. NuGet Paket Yöneticisi'ni açmak için Araçlar>NuGet Paket Yöneticisi>Çözüm için NuGet Paketlerini Yönet'i seçin.
  2. Gözat'ı seçin ve ardından arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
  3. Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
  4. Azure.Communication.Calling.WindowsClient paketini ve ardından Azure.Communication.Calling.WindowsClient1.4.0-beta.1 veya daha yeni bir sürümü seçin.
  5. Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
  6. Yükle'yi seçin.

Özellikleri görüntüleme özelliği, çekirdek Call API'nin genişletilmiş bir özelliğidir. Geçerli çağrıda yerel katılımcının özelliklerini edinmenizi sağlar.

Bu özellik, özellik değişikliklerini dinlemek için bir olay dinleyicisine kaydolmanızı sağlar.

Windows için Yetenekler çağrı özelliğini kullanmak için ilk adım Özellikler özelliği API nesnesini almaktır:

Yetenekler özelliğini alma

private CapabilitiesCallFeature capabilitiesCallFeature;
capabilitiesCallFeature = call.Features.Capabilities;

Yerel katılımcının özelliklerini alma

capabilities nesnesi yerel katılımcıların özelliklerine sahiptir ve türündedir ParticipantCapability. Yetkinliklerin özellikleri şunlardır:

  • isAllowed , bir özelliğin kullanılıp kullanılamayabileceğini gösterir.
  • nedeni , yetenek çözümleme nedenini gösterir.
var capabilities = capabilitiesCallFeature.Capabilities;

Olaya abone olma capabilitiesChanged

capabilitiesCallFeature.CapabilitiesChanged += Call__OnCapabilitiesChangedAsync;

private async void Call__OnCapabilitiesChangedAsync(object sender, CapabilitiesChangedEventArgs args)
{
    Trace.WriteLine(args.Reason.ToString());
    foreach (var capability in args.ChangedCapabilities)
    {
        //Prints out capability kind and resolution reason in console
        Trace.WriteLine(capability.Kind.ToString() + " is " + capability.Reason.ToString());
    }
}

Ortaya Çıkarılan Yetenekler

  • TurnVideoOn: Videoyu açabilme
  • UnmuteMicrophone: Mikrofonu açma özelliği
  • ShareScreen: Ekranı paylaşma özelliği
  • RemoveParticipant: Katılımcıyı kaldırma özelliği
  • HangUpForEveryone: Herkes için aramayı sonlandırma yeteneği
  • AddCommunicationUser: İletişim kullanıcısı ekleme özelliği
  • AddTeamsUser: Teams Kullanıcısı ekleme özelliği
  • AddPhoneNumber: Telefon numarası ekleme özelliği
  • ManageLobby: Lobiyi yönetebilme
  • SpotlightParticipant: Katılımcıyı öne çıkarma özelliği
  • RemoveParticipantSpotlight: Katılımcı spotlarını kaldırma özelliği
  • BlurBackground: Arka planı bulanıklaştırma özelliği
  • CustomBackground: Özel arka plan uygulama özelliği
  • StartLiveCaptions: Canlı açıklamalı alt yazıları başlatabilme
  • RaiseHand: El kaldırma özelliği
  • MuteOthers: Toplantıdaki uzak katılımcıların sessize alma özelliği

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şturmayacaksınız. Testleri Dahil Et onay kutusunu temizleyebilirsiniz.

Xcode içinde proje oluşturma penceresini gösteren ekran görüntüsü.

CocoaPods kullanarak paketi ve bağımlılıkları yükleme

  1. 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
    
  2. pod install'i çalıştırın.

  3. Xcode kullanarak açın .xcworkspace .

Mikrofona erişim isteme

Cihazın mikrofonuna erişmek için uygulamanızın bilgi özellik listesini NSMicrophoneUsageDescription ile 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ındaki Info.plist girdisine sağ tıklayın ve 'ı 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. Dosyanın en üstüne import kitaplığını içeri aktarmak için bir AzureCommunicationCalling bildirimi ekleyin. Buna ek olarak, AVFoundation içeri aktar. Koddaki ses izni istekleri için buna ihtiyacınız vardır.

import AzureCommunicationCalling
import AVFoundation

CallAgent'ı başlatma

CallAgent öğesinden bir CallClient örnek oluşturmak için, başlatıldıktan sonra zaman uyumsuz olarak bir callClient.createCallAgent nesne döndüren bir CallAgent yöntem kullanmanız 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 nesnesini oluşturduğunuz öğeye 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")
        }
})

Özellikleri görüntüleme özelliği, çekirdek Call API'nin genişletilmiş bir özelliğidir. Geçerli çağrıda yerel katılımcının özelliklerini edinmenizi sağlar.

Bu özellik, özellik değişikliklerini dinlemek için bir olay dinleyicisine kaydolmanızı sağlar.

Windows için yetenek çağrısı özelliğini kullanmak için ilk adım, yetenek özelliği API nesnesini almaktır:

Yetenekler özelliğini alma

let capabilitiesCallFeature =call.feature(Features.capabilities)

Yerel katılımcının özelliklerini alma

capabilities nesnesi yerel katılımcıların özelliklerine sahiptir ve türündedir ParticipantCapability. Yetkinliklerin özellikleri şunlardır:

  • isAllowed , bir özelliğin kullanılıp kullanılamayabileceğini gösterir.
  • nedeni , yetenek çözümleme nedenini gösterir.
var capabilities = capabilitiesCallFeature.capabilities

Olaya abone olma capabilitiesChanged


capabilitiesCallFeature.delegate = CapabilitiesCallDelegate()

public class CapabilitiesCallDelegate : CapabilitiesCallFeatureDelegate
{
    public func capabilitiesCallFeature(_ capabilitiesCallFeature: CapabilitiesCallFeature, didChangeCapabilities args: CapabilitiesChangedEventArgs) {
        let changedReason = args.reason
        let changedCapabilities = args.changedCapabilities
    }
}

Ortaya Çıkarılan Yetenekler

  • TurnVideoOn: Videoyu açabilme
  • UnmuteMicrophone: Mikrofonu açma özelliği
  • ShareScreen: Ekranı paylaşma özelliği
  • RemoveParticipant: Katılımcıyı kaldırma özelliği
  • HangUpForEveryone: Herkes için aramayı sonlandırma yeteneği
  • AddCommunicationUser: İletişim kullanıcısı ekleme özelliği
  • AddTeamsUser: Teams Kullanıcısı ekleme özelliği
  • AddPhoneNumber: Telefon numarası ekleme özelliği
  • ManageLobby: Lobiyi yönetebilme
  • SpotlightParticipant: Katılımcıyı öne çıkarma özelliği
  • RemoveParticipantSpotlight: Katılımcı spotlarını kaldırma özelliği
  • BlurBackground: Arka planı bulanıklaştırma özelliği
  • CustomBackground: Özel arka plan uygulama özelliği
  • StartLiveCaptions: Canlı açıklamalı alt yazıları başlatabilme
  • RaiseHand: El kaldırma özelliği
  • MuteOthers: Toplantıdaki uzak katılımcıların sessize alma özelliği

Desteklenen arama türleri

Aşağıdaki tablolar, Azure İletişim Hizmetleri Çağırma SDK'sını kullanarak yetenekler elde etme özelliğini tanımlar.

Kimlikler ve çağrı türleri

Kimlik Teams toplantısı Oda bire bir görüşme Grup görüşmesi 1:1 Teams uyumluluk görüşmesi Grup Teams uyumlu çalışma çağrısı
İletişim Hizmetleri kullanıcısı ✔️ ✔️
Microsoft 365 kullanıcısı ✔️ ✔️

Nedenler

Aşağıdaki tabloda, eylemin neden kullanılamayabilecekleri hakkında ek bilgiler ve eylemin nasıl kullanılabilir hale getirilebilecekleri hakkında ipuçları sağlanmaktadır.

Neden Açıklama Çözüm
Yetenekli Eylem etkinleştirildi.
Çağrı Tipi İçin Yeteneğin Uygulanabilir Değil Çağrı türü eylemi engeller. Bu işlemi gerçekleştirmeniz gerekiyorsa, başka bir arama türünü düşünün. Arama türleri şunlardır: 1:1 arama, grup araması, 1:1 Teams birlikte çalışma araması, 1:1 Teams birlikte çalışma grubu araması, Oda ve Toplantı.
MüşteriKısıtlı Çalışma zamanı ortamı bu eylemi engelliyor İşletim sistemini, tarayıcıları, platformu veya donanımı değiştirerek cihazınızdaki eylemin engelini kaldırın. Desteklenen ortamı belgelerimizde bulabilirsiniz.
KullanıcıPolitikasıKısıtlı Microsoft 365 kullanıcısının ilkesi eylemi engeller. AcS SDK kullanarak toplantı düzenleyicisine, çağrı başlatıcısına veya Microsoft 365 kullanıcısına atanan ilkeyi değiştirerek bu eylemi etkinleştirin. Hedef kullanıcı eylem türüne bağlıdır. Teams'de Teams ilkesi hakkında daha fazla bilgi edinin. Teams yöneticisi ilkeleri değiştirebilir.
Rol Kısıtlamalı Atanan rol eylemi engeller. Eylemi kullanılabilir hale getirmek için kullanıcıyı farklı bir role yükseltin.
Özellik Desteklenmiyor Yetenekler özelliği bu çağrı türünde desteklenmez. Bu özelliğin bu arama türü için kullanılabilir olmasını istediğinizi Azure Geri Bildirim kanalında bize bildirin.
Kısıtlı Toplantı Teams toplantı seçeneği eylemi engeller. Teams toplantı düzenleyicisinin veya ortak düzenleyicinin bu eylemi etkinleştirmek için toplantı seçeneğini değiştirmesi gerekir.
Başlatılmamış Yetenekler özelliği henüz başlatılmadı. Özelliğin ne zaman başlatıldığını öğrenmek için etkinliğe capabilitiesChangedthis.call.feature(Features.Capabilities) abone olun.
Yetersiz Kullanıcı türü eylemi engeller. Eylem yalnızca belirli kimlikler için etkinleştirilir. Microsoft 365 kimliğini kullanarak bu eylemi etkinleştirin.
EkiplerPremiumLisansKısıtlı Microsoft 365 kullanıcısına Teams Premium lisansı atanmış olmalıdır. TEAMS toplantı düzenleyicisine veya SDK kullanarak Microsoft 365 kullanıcısına Teams Premium lisansı atayarak bu eylemi etkinleştirin. Hedef kullanıcı eylem türüne bağlıdır. Microsoft 365 yöneticisi gerekli lisansı atayabilir.
AçıkOnayGerekli Eyleme izin vermek için onay gereklidir. veya grantTeamsConsent() altında this.call.feature(Features.Recording) yöntemini this.call.feature(Features.Transcription) çağırarak kayıt veya transkripsiyon için onay sağlayın.

Sonraki adımlar