Obserwowanie możliwości użytkownika
Czy mam uprawnienia do włączania wideo, czy mam uprawnienia do włączania mikrofonu, czy mam uprawnienia do udostępniania ekranu? Te uprawnienia to przykłady możliwości uczestnika, które można nauczyć się z interfejsu API możliwości. Poznanie możliwości może pomóc w utworzeniu interfejsu użytkownika, który pokazuje tylko przyciski związane z akcjami, do których użytkownik lokalny ma uprawnienia.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- 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
Użyj polecenia , npm install
aby zainstalować wspólny zestaw SDK usług Azure Communication Services i wywołujący dla języka JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Inicjowanie wymaganych obiektów
Wystąpienie CallClient
jest wymagane w przypadku większości operacji wywołania. Podczas tworzenia nowego CallClient
wystąpienia można skonfigurować je za pomocą opcji niestandardowych, takich jak Logger
wystąpienie.
CallClient
Za pomocą wystąpienia można utworzyć CallAgent
wystąpienie, wywołując element createCallAgent
. Ta metoda asynchronicznie zwraca CallAgent
obiekt wystąpienia.
Metoda createCallAgent
używa CommunicationTokenCredential
jako argumentu. Akceptuje token dostępu użytkownika.
Aby uzyskać dostęp deviceManager
do obiektu , możesz użyć getDeviceManager
metody w wystąpieniu CallClient
.
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()
Jak najlepiej zarządzać łącznością zestawu SDK z infrastrukturą firmy Microsoft
Wystąpienie Call Agent
pomaga zarządzać wywołaniami (aby dołączyć lub uruchomić wywołania). Aby można było pracować z zestawem SDK wywołującym, należy połączyć się z infrastrukturą firmy Microsoft, aby otrzymywać powiadomienia o połączeniach przychodzących i koordynować inne szczegóły połączeń. Istnieją Call Agent
dwa możliwe stany:
Połączono — Call Agent
wartość Connected
connectionStatue oznacza, że zestaw SDK klienta jest połączony i może odbierać powiadomienia z infrastruktury firmy Microsoft.
Rozłączone — Call Agent
wartość Disconnected
connectionStatue stanów występuje problem uniemożliwiający prawidłowe nawiązywanie połączenia z zestawem SDK. Call Agent
należy utworzyć ponownie.
invalidToken
: Jeśli token wygasł lub jest nieprawidłoweCall Agent
wystąpienie rozłącza się z tym błędem.connectionIssue
: Jeśli występuje problem z połączeniem klienta z infrastrukturą firmy Microsoft, po wielu ponownych próbachCall Agent
connectionIssue
wystąpi błąd.
Możesz sprawdzić, czy środowisko lokalne Call Agent
jest połączone z infrastrukturą firmy Microsoft, sprawdzając bieżącą connectionState
wartość właściwości. Podczas aktywnego wywołania można nasłuchiwać zdarzenia, connectionStateChanged
aby określić, czy Call Agent
zmiany ze stanu Połączono z Odłączone .
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);
Funkcja możliwości jest rozszerzoną funkcją podstawowego Call
interfejsu API i umożliwia uzyskanie możliwości lokalnego uczestnika w bieżącym wywołaniu.
Funkcja umożliwia zarejestrowanie odbiornika zdarzeń w celu nasłuchiwania zmian możliwości.
Zarejestruj się w funkcji możliwości:
const capabilitiesFeature = this.call.feature(Features.Capabilities);
Uzyskaj możliwości uczestnika lokalnego: obiekt Capabilities ma możliwości uczestników lokalnych i ma typ ParticipantCapabilities
. Właściwości możliwości obejmują:
- isPresent wskazuje, czy istnieje możliwość.
- reason wskazuje przyczynę rozwiązania możliwości.
const capabilities = capabilitiesFeature.capabilities;
Subskrybowanie capabilitiesChanged
zdarzenia:
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;
}
}
});
Uwidocznione możliwości
- turnVideoOn: Możliwość włączania wideo
- unmuteMic: Możliwość włączania mikrofonu
- shareScreen: możliwość udostępniania ekranu
- removeParticipant: Możliwość usunięcia uczestnika
- hangUpForEveryOne: możliwość zawieszania się dla wszystkich
- addCommunicationUser: możliwość dodawania użytkownika komunikacji
- addTeamsUser: możliwość dodawania użytkownika usługi Teams
- addPhoneNumber: możliwość dodawania numeru telefonu
- manageLobby: możliwość zarządzania lobby (tylko wersja beta)
- spotlightParticipant: Umiejętność w centrum uwagi Uczestnik (tylko wersja beta)
- removeParticipantsSpotlight: możliwość usuwania w centrum uwagi uczestnika (tylko wersja beta)
- startLiveCaptions: możliwość uruchamiania transkrypcji na żywo (tylko wersja beta)
- stopLiveCaptions: możliwość zatrzymywania transkrypcji na żywo (tylko wersja beta)
- raiseHand: Możliwość podnoszenia ręki (tylko beta)
- muteOthers: Możliwość miękkiego wyciszenia uczestników zdalnych w spotkaniu
- reakcja: Zdolność do reagowania na spotkanie (tylko beta)
- viewAttendeeNames: możliwość wyświetlania nazw uczestników na spotkaniu
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();
Funkcja możliwości jest rozszerzoną funkcją podstawowego Call
interfejsu API i umożliwia uzyskanie możliwości lokalnego uczestnika w bieżącym wywołaniu.
Funkcja umożliwia zarejestrowanie odbiornika zdarzeń w celu nasłuchiwania zmian możliwości.
Aby użyć funkcji wywołania możliwości dla systemu Windows, pierwszym krokiem jest uzyskanie obiektu interfejsu API funkcji możliwości:
Uzyskiwanie funkcji możliwości
private CapabilitiesCallFeature capabilitiesCallFeature;
capabilitiesCallFeature = call.feature(Features.CAPABILITIES);
Uzyskiwanie możliwości uczestnika lokalnego
Obiekt Capabilities ma możliwości lokalnych uczestników i jest typu ParticipantCapability
. Właściwości możliwości obejmują:
- isAllowed wskazuje, czy można użyć możliwości.
- reason wskazuje przyczynę rozwiązania możliwości.
List<ParticipantCapability> capabilities = capabilitiesCallFeature.getCapabilities();
Subskrybowanie capabilitiesChanged
zdarzenia
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());
}
}
Uwidocznione możliwości
- TurnVideoOn: możliwość włączania wideo
- UnmuteMicrophone: Możliwość wyciszenie mikrofonu
- ShareScreen: możliwość udostępniania ekranu
- RemoveParticipant: Możliwość usunięcia uczestnika
- HangUpForEveryone: Możliwość zawieszania się dla wszystkich
- AddCommunicationUser: możliwość dodawania użytkownika komunikacyjnego
- AddTeamsUser: możliwość dodawania użytkownika aplikacji Teams
- AddPhoneNumber: możliwość dodawania numeru telefonu
- ManageLobby: Możliwość zarządzania lobby
- SpotlightParticipant: Umiejętność w centrum uwagi Uczestnika
- RemoveParticipantSpotlight: możliwość usuwania w centrum uwagi uczestnika
- BlurBackground: możliwość rozmycia tła
- CustomBackground: możliwość stosowania niestandardowego tła
- StartLiveCaptions: możliwość rozpoczęcia transkrypcji na żywo
- RaiseHand: Zdolność do podnoszenia ręki
- MuteOthers: Możliwość miękkiego wyciszenia zdalnych uczestników w spotkaniu
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.
Funkcja możliwości jest rozszerzoną funkcją podstawowego Call
interfejsu API i umożliwia uzyskanie możliwości lokalnego uczestnika w bieżącym wywołaniu.
Funkcja umożliwia zarejestrowanie odbiornika zdarzeń w celu nasłuchiwania zmian możliwości.
Aby użyć funkcji wywołania możliwości dla systemu Windows, pierwszym krokiem jest uzyskanie obiektu interfejsu API funkcji możliwości:
Uzyskiwanie funkcji możliwości
private CapabilitiesCallFeature capabilitiesCallFeature;
capabilitiesCallFeature = call.Features.Capabilities;
Uzyskiwanie możliwości uczestnika lokalnego
Obiekt Capabilities ma możliwości lokalnych uczestników i jest typu ParticipantCapability
. Właściwości możliwości obejmują:
- isAllowed wskazuje, czy można użyć możliwości.
- reason wskazuje przyczynę rozwiązania możliwości.
var capabilities = capabilitiesCallFeature.Capabilities;
Subskrybowanie capabilitiesChanged
zdarzenia
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());
}
}
Uwidocznione możliwości
- TurnVideoOn: możliwość włączania wideo
- UnmuteMicrophone: Możliwość wyciszenie mikrofonu
- ShareScreen: możliwość udostępniania ekranu
- RemoveParticipant: Możliwość usunięcia uczestnika
- HangUpForEveryone: Możliwość zawieszania się dla wszystkich
- AddCommunicationUser: możliwość dodawania użytkownika komunikacyjnego
- AddTeamsUser: możliwość dodawania użytkownika aplikacji Teams
- AddPhoneNumber: możliwość dodawania numeru telefonu
- ManageLobby: Możliwość zarządzania lobby
- SpotlightParticipant: Umiejętność w centrum uwagi Uczestnika
- RemoveParticipantSpotlight: możliwość usuwania w centrum uwagi uczestnika
- BlurBackground: możliwość rozmycia tła
- CustomBackground: możliwość stosowania niestandardowego tła
- StartLiveCaptions: możliwość rozpoczęcia transkrypcji na żywo
- RaiseHand: Zdolność do podnoszenia ręki
- MuteOthers: Możliwość miękkiego wyciszenia zdalnych uczestników w spotkaniu
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")
}
})
Funkcja możliwości jest rozszerzoną funkcją podstawowego Call
interfejsu API i umożliwia uzyskanie możliwości lokalnego uczestnika w bieżącym wywołaniu.
Funkcja umożliwia zarejestrowanie odbiornika zdarzeń w celu nasłuchiwania zmian możliwości.
Aby użyć funkcji wywołania możliwości dla systemu Windows, pierwszym krokiem jest uzyskanie obiektu interfejsu API funkcji możliwości:
Uzyskiwanie funkcji możliwości
let capabilitiesCallFeature =call.feature(Features.capabilities)
Uzyskiwanie możliwości uczestnika lokalnego
Obiekt Capabilities ma możliwości lokalnych uczestników i jest typu ParticipantCapability
. Właściwości możliwości obejmują:
- isAllowed wskazuje, czy można użyć możliwości.
- reason wskazuje przyczynę rozwiązania możliwości.
var capabilities = capabilitiesCallFeature.capabilities
Subskrybowanie capabilitiesChanged
zdarzenia
capabilitiesCallFeature.delegate = CapabilitiesCallDelegate()
public class CapabilitiesCallDelegate : CapabilitiesCallFeatureDelegate
{
public func capabilitiesCallFeature(_ capabilitiesCallFeature: CapabilitiesCallFeature, didChangeCapabilities args: CapabilitiesChangedEventArgs) {
let changedReason = args.reason
let changedCapabilities = args.changedCapabilities
}
}
Uwidocznione możliwości
- TurnVideoOn: możliwość włączania wideo
- UnmuteMicrophone: Możliwość wyciszenie mikrofonu
- ShareScreen: możliwość udostępniania ekranu
- RemoveParticipant: Możliwość usunięcia uczestnika
- HangUpForEveryone: Możliwość zawieszania się dla wszystkich
- AddCommunicationUser: możliwość dodawania użytkownika komunikacyjnego
- AddTeamsUser: możliwość dodawania użytkownika aplikacji Teams
- AddPhoneNumber: możliwość dodawania numeru telefonu
- ManageLobby: Możliwość zarządzania lobby
- SpotlightParticipant: Umiejętność w centrum uwagi Uczestnika
- RemoveParticipantSpotlight: możliwość usuwania w centrum uwagi uczestnika
- BlurBackground: możliwość rozmycia tła
- CustomBackground: możliwość stosowania niestandardowego tła
- StartLiveCaptions: możliwość rozpoczęcia transkrypcji na żywo
- RaiseHand: Zdolność do podnoszenia ręki
- MuteOthers: Możliwość miękkiego wyciszenia zdalnych uczestników w spotkaniu
Obsługiwane typy wywołań
Ta funkcja jest obecnie obsługiwana tylko dla typu połączenia usługi Azure Communication Services Rooms i typu połączenia spotkań zespołów
Przyczyny
Poniższa tabela zawiera dodatkowe informacje o tym, dlaczego akcja jest niedostępna i zawiera wskazówki dotyczące udostępniania akcji.
Przyczyna | opis | Rozwiązanie |
---|---|---|
Zdolny | Akcja jest dozwolona. | |
CapabilityNotApplicableForTheCallType | Typ wywołania blokuje akcję. | Jeśli potrzebujesz tej akcji, rozważ użycie innego typu wywołania. Typy połączeń to: połączenie 1:1, połączenie grupowe, połączenie międzyoperaniowe 1:1 teams, połączenie międzyoperaniowe 1:1 teams, pokój i spotkanie. |
ClientRestricted | Środowisko uruchomieniowe blokuje tę akcję | Odblokuj akcję na urządzeniu, zmieniając system operacyjny, przeglądarki, platformę lub sprzęt. Obsługiwane środowisko można znaleźć w naszej dokumentacji. |
UserPolicyRestricted | Zasady użytkownika platformy Microsoft 365 blokują akcję. | Włącz tę akcję, zmieniając zasady przypisane do organizatora spotkania, inicjatora połączenia lub użytkownika platformy Microsoft 365 przy użyciu zestawu ACS SDK. Użytkownik docelowy zależy od typu akcji. Dowiedz się więcej o zasadach usługi Teams w usłudze Teams. Administrator usługi Teams może zmienić zasady. |
RoleRestricted | Przypisana rola blokuje akcję. | Podwyższ poziom użytkownika do innej roli, aby udostępnić akcję. |
FeatureNotSupported | Funkcja możliwości nie jest obsługiwana w tym typie wywołania. | Poinformuj nas w kanale opinii na temat platformy Azure, że chcesz, aby ta funkcja została udostępniona dla tego typu wywołania. |
SpotkanieRestricted | Opcja spotkania w aplikacji Teams blokuje akcję. | Organizator spotkania lub współorganizator spotkań w aplikacji Teams musi zmienić opcję spotkania, aby włączyć tę akcję. |
NotInitialized | Funkcja możliwości nie została jeszcze zainicjowana. | Zasubskrybuj zdarzenie capabilitiesChanged , this.call.feature(Features.Capabilities) aby wiedzieć, kiedy jest inicjowana funkcja. |
NotCapable | Typ użytkownika blokuje akcję. | Akcja jest dozwolona tylko do określonego typu tożsamości. Włącz tę akcję przy użyciu tożsamości platformy Microsoft 365. |
TeamsPremiumLicenseRestricted | Użytkownik platformy Microsoft 365 musi mieć przypisaną licencję usługi Teams Premium. | Włącz tę akcję, przypisując licencję usługi Teams Premium do organizatora spotkania usługi Teams lub użytkownika platformy Microsoft 365 przy użyciu zestawu SDK. Użytkownik docelowy zależy od typu akcji. Administrator platformy Microsoft 365 może przypisać wymaganą licencję. |
JawnekonsentRequired | Zgoda jest wymagana, aby zezwolić na akcję. | Podaj zgodę na nagrywanie lub transkrypcję, wywołując metodę grantTeamsConsent() w obszarze this.call.feature(Features.Recording) lub this.call.feature(Features.Transcription) . |